Static analysis tool for Django projects.
Project description
Ideas
Default manager with restrictive get_query_set()
Oldforms (?)
- Overring definition of model. Eg:
- class MyModel(models.Model):
foo = [..] foo = [..]
Not importing settings via “django.conf import settings”
Not using reverse (or @permalink) in get_absolute_url (?)
Form definitions in models.py
Ignore tests
Models
Don’t count ManyToMany fields on a model as a field
Remove common prefix checking.
models.. specifying “objects = “ should be last
Views
Calling request.is_authenticated without actually calling function
order_by(‘?’)
request.method.upper is a no-op (etc.)
cache.set without a timeout
URLS
Unreversible urlpatterns
Layout
Form class not in forms.py
Admin class not in admin.py
Templates
{% if foo %}{{ foo }}{% else %}bar{% endif %} => {{ foo|default:”bar” }}
{% with foo as bar %} … [ not using {{ bar }} ] … {% endwith %}
{% endblock %} vs. {% endblock blockname %}
Settings
Ordering of MIDDLEWARE_CLASSES
TEMPLATE_DIRS not absolute
Layout
forms not in forms.py managers not in managers.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-lint-2.0.1.tar.gz
.
File metadata
- Download URL: django-lint-2.0.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26c72819785fae8a1ab142e4e1732a82ee236656fbdd16b1132b08c97967c86d |
|
MD5 | 440022fadae777aae3708f9d499d1b71 |
|
BLAKE2b-256 | 37bfbeeadbbcdd47d3519e1040b0ee66a3de66c382a7bec9d020639e9d62d2c1 |