flake8-django
A flake8 plugin to detect bad practices on Django projects.
Installation
Install from pip with:
$ pip install flake8-django
Testing
flake8-django uses pytest for tests. To run them use:
$ pytest
Run coverage report using:
$ pytest --cov=.
List of Rules
| Rule | Description |
|---|---|
DJ01 |
Avoid using null=True on string-based fields such as CharField and TextField |
DJ03 |
Avoid passing locals() as context to a render function |
DJ06 |
Do not use exclude with ModelForm, use fields instead |
DJ07 |
Do not use __all__ with ModelForm, use fields instead |
DJ08 |
Model does not define __str__ method |
DJ12 |
Order of Model's inner classes, methods, and fields does not follow the Django Style Guide |
DJ13 |
@receiver decorator must be on top of all the other decorators |
More details about each of the Rules can be found on the wiki page.
Optional Rules - Disabled by Default
| Rule | Description |
|---|---|
DJ10 |
Model should define verbose_name on its Meta inner class |
DJ11 |
Model should define verbose_name_plural on its Meta inner class |
To enable optional rules you can use the --select parameter. It's default values are: E,F,W,C90.
For example, if you wanted to enable DJ10, you could call flake8 in the following way:
flake8 --select=E,F,W,C90,DJ,DJ10
You could also add it to your configuration file:
[flake8]
max-line-length = 120
...
select = C,E,F,W,DJ,DJ10
Licence
GPL
Thanks
@stummjr for teaching me AST, and what I could do with it. His blog is cool.
Metadata
Release files for flake8-django 1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| flake8_django-1.4.tar.gz | 8.4 kB | Without provenance | Details |
Release files / flake8_django-1.4.tar.gz
| Download URL | flake8_django-1.4.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4debba883084191568e3187416d1d6bdd4abd826da988f197a3c36572e9f30de
|
|
BLAKE2b-256 checksum How to use checksums |
12ae53732f91619ff1130e7c13eb6572e2751dbe4a31c0f30ac4a9e7352c9050
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|
Security for flake8-django 1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.