Skip to main content

Static analysis tool for Django projects.

Project description

Consulting services: if your organisation needs a reputable software developer with a track record of producing high-quality and maintainable Python/Django code, please get in touch to discuss your needs. More info


  • 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

  • Ignore tests


  • Don’t count ManyToMany fields on a model as a field

  • Remove common prefix checking.

  • models.. specifying “objects = ” should be last


  • Calling request.is_authenticated without actually calling function

  • order_by(‘?’)

  • request.method.upper is a no-op (etc.)

  • cache.set without a timeout


  • Unreversible urlpatterns


  • Form class not in

  • Admin class not in


  • {% if foo %}{{ foo }}{% else %}bar{% endif %} => {{ foo|default:”bar” }}

  • {% with foo as bar %} … [ not using {{ bar }} ] … {% endwith %}

  • {% endblock %} vs. {% endblock blockname %}



  • TEMPLATE_DIRS not absolute


forms not in managers not in

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

django-lint-2.0.4.tar.gz (8.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page