Skip to content

Django Lint is a static analysis tool that checks (or "lints") projects and applications that use the Django web development framework. This version works with pyLint 0.21 and astng 0.21

License

Notifications You must be signed in to change notification settings

rheinwerk-verlag/django-lint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-lint

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

About

Django Lint is a static analysis tool that checks (or "lints") projects and applications that use the Django web development framework. This version works with pyLint 0.21 and astng 0.21

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published