Heads up: The project formerly known as "Djangoly" is now "Djazzy". This change was made to ensure compliance with the Django foundation's trademark policies, especially as we consider paid features. The new name, "Djazzy", pays homage to Django's namesake, the jazz musician Django Reinhardt, while incorporating the silent 'D' to maintain a connection to Django-specific code.
What is Djazzy?
Djazzy is the open-source tool that helps Django developers write better code. It leverages static analysis and various IDE features to ensure your project aligns with your team's best practices and conventions.
Djazzy helps you:
Catch style violations like poor names and redundant queryset methods
Flag model fields such as related_name for ForeignKey or null=True on CharField
Remind you to create/update test files when you modify your Django views or models
Identify potential security risks in your settings and suggest safer alternatives
Ensure that your URLs follow the project's naming convention
Suggest valid field lookups (__gte, __in, etc.) when filtering QuerySets (planned)
Autocomplete named URLs in reverse() and redirect() calls (planned)
Djazzy highlights
Flag annoyances such as CharField(null=True) omitting related_name for foreign keys etc.
Catch style style violations like poor names and redundant queryset methods
Reminds you to create/update test files when you modify your Django views or models.
Flag test names that don't match your team's preferences
Identifies potential security risks in your settings and suggests safer alternatives.
Ensures that your Django views and methods have proper error handling.
Docs
Djazzy implements a set of rules to help you write cleaner Django code. Each rule is designed to catch common pitfalls, enforce best practices, and improve the overall quality and security of your Django projects.
For a complete list of all rules, including detailed descriptions and examples, please refer to our Convention Rules Documentation.
Known Issues & Limitations 🐞
False Positives: Djazzy may generate inaccurate diagnostics and recommendations as an MVP undergoing rapid development. If you encounter any issues, please report them to support@alchemizedsoftware.com.