Find and fix Django mishaps.
Project description
django-doctor
Django code quality assistant. Offline version of https://django.doctor
Find and fix around 40 breaches of Django best practice - helping you build world-class websites, release faster, and reduce dev costs.
Installation
$ pip install django-doctor
Fix
Run the fix suggestion wizard like so:
$ django_doctor fix
This runs a simple server on http://localhost:9000 and opens the wizard in your browser:
You then accept or reject the suggestions
And ultimately the selected changes are saved to your file system
You can change the address:
$ django_doctor fix --address=0.0.0.0 --port=9001
Your virtual environment directory is automatically skipped. To exclude other directories use the --ignore
flag:
$ django_doctor fix --ignore=foo # single directory
$ django_doctor fix --ignore=foo --ignore=bar # multiple directories
You can also specify a directory to check instead of running on the current working directory. To run on only on "my_app" and "my_other_app":
$ django_doctor fix my_app my_other_app
Check
You can see suggested changes in your shell:
$ django_doctor check
Consider running this as a pre-commit hook, or on your CI to prevent new Django anti-patterns from being merged.
You can also use --ignore
the same as with the fix
command.
Configuration
You turn checks on/off with --disable
and --enable
. See here for the codenames of the checks.
Troubleshooting
Debugging
Try running django_doctor
in verbose mode by adding --log-level=debug
when executing the fix
or check
commands.
Pipenv
If you're using pipenv
you may need to do pipenv install django-doctor --pre
because:
django-doctor
depends on blackblack
only releases pre-releasespipenv
ignores pre-releases
Support
Chat with us on https://django.doctor if you have any problems or have a feature request
GitHub integration
Django Doctor has GitHub integration. Learn more at https://django.doctor/github
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
Built Distributions
Hashes for django_doctor-2.5.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bf968eb53be817333cd1756268060ac676d1ed1cc7584c1bf81fda27f44da4d |
|
MD5 | 099b8c2d18629ce1db80c6f1790758e1 |
|
BLAKE2b-256 | fe12c126b89073dbf807fed99fbbe4b318230a5fa7d455992353d3a2fa11458d |
Hashes for django_doctor-2.5.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4acc6c22ad679a9f519a9de959efb8b82a7f8e1b7e15a0fa74b73617cb18efde |
|
MD5 | 4e59496be461082cdd98c7096b625515 |
|
BLAKE2b-256 | 761f3da1bb706bd83c9d428727db53df572f26cad13a637549df366330f11ba2 |
Hashes for django_doctor-2.5.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d050115a842512c6dbdc854f9d6e1a262fcc284594edf6aa5493f99007531d48 |
|
MD5 | b73f6ce6166549d6a62d53f79bfb2647 |
|
BLAKE2b-256 | 584d91d841c4b0b6b3e4518103232767e6bf89ab9768bcf1a8fcd28a3dcbf0c7 |
Hashes for django_doctor-2.5.0-cp39-cp39-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d39957761ba23734fdb6743f49a6227938d608b01056fae6138f31e3203e50da |
|
MD5 | e7e7099c2d258229ce87aa6c36790344 |
|
BLAKE2b-256 | 5b194a289c41703cc0d683afd01ebc23b0d31da7d77917a3e65e7b7622195d3a |
Hashes for django_doctor-2.5.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ab016e3e12de42e547f73a2787f7f4f6a0b8e6d81c1ca78acc4ef29dbbf4af4 |
|
MD5 | 5589d8b7312ce159bfa1e5fd880bc8d6 |
|
BLAKE2b-256 | cf993875a52331dde7cb1cd299cd81ca29d3548995d65c85d8282fb574c784a7 |
Hashes for django_doctor-2.5.0-cp39-cp39-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e6cf19d70e540a3397a89a81d6d0155b1edf823663b907dd81327274f45aace |
|
MD5 | ab3e11e873d0e6680f13699aaa5149e0 |
|
BLAKE2b-256 | 2f6eb2d001f8854bc500423d881da4a8c33417753d6fa097b74e47a169643dfc |
Hashes for django_doctor-2.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f34ca610d0c50aacba43c415657f59a81746b27e1c147dcde2d83cb59b662982 |
|
MD5 | e1b345934c44917659cb57042ac5fecd |
|
BLAKE2b-256 | 2b2739d55ef86272498674448b0b47b4d79fdf2947668ba42afb177582d7fe3c |
Hashes for django_doctor-2.5.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c43e27a0bab05fb09fe1bf826e96d7d8fae8cc15cd949b1cb2db27eba850370f |
|
MD5 | a4b4b51ab5a5d9cc8444bf2fb9ae1d8a |
|
BLAKE2b-256 | 0cc8b95a21552a0f9f28549823b8bb975973aa444202c97ac360b7e0517e51fe |
Hashes for django_doctor-2.5.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4181eefe71a730bf27f01ed47c2aa25e5f95bc9f8a72fd7ec1de02d34a8e3dc6 |
|
MD5 | 57b1889f388d5177b8417fa662b014bc |
|
BLAKE2b-256 | c775e7cc748af75d990431ac4edae850f37c31df6df3e5b387fd94d419cf9f70 |
Hashes for django_doctor-2.5.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1742e87d15f6576fa41b719526895fecc963085b1c2ed619549040fa52764aa8 |
|
MD5 | da577d20311e46f76f1331cff7961728 |
|
BLAKE2b-256 | b84aa8375412702d1e5a10f4ec8cae648c9598db5c8329b211fb144caa71b110 |
Hashes for django_doctor-2.5.0-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbb4addd70c30df88bdf59a081b75383f0a051f89e8df3a360b8eab01e28c676 |
|
MD5 | 21e0b5620ed6835a8680a8bd697a9550 |
|
BLAKE2b-256 | 8e123a1dac16c8cad7731b3343bc366f8c213657f728da62c666c76736314dad |
Hashes for django_doctor-2.5.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99ca26f89824a0c0df663eb4fe4f50e22505cf5c217ebf9a894cc598ba63a7ee |
|
MD5 | c18e6cdcf9beea675f0cc64c139fb2ac |
|
BLAKE2b-256 | 309c7d32fc709b3896182feee884e98e23786770aeba5c56bd3923262bebbc9b |
Hashes for django_doctor-2.5.0-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d601ba0f00f633ba200a4aeba371ad614c93c22909ed5ad09ce9cc78a907edd |
|
MD5 | dfc595c1c3447adecafcf9f5bc220fbd |
|
BLAKE2b-256 | 54f34fcd90f49ba5d92018740accba231d46214fa0e6191b54df3f11ec2c4ea5 |
Hashes for django_doctor-2.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c5244f749c696265a4411d8d4a4cfb889003842e5d198745812732e3f35d29a |
|
MD5 | 3859e525431c9a71614f4bf64be4b695 |
|
BLAKE2b-256 | db42b6e4fec300f53db66568cd8e0f0cd00557cb5af64df794c76a23f166cdb2 |
Hashes for django_doctor-2.5.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b3b8ec96a7818ecd3c39a43d1bcab3805958a9c07bd0e2c06f827e69c042037 |
|
MD5 | 8915568dcb1f69a71253f899f4b60b5f |
|
BLAKE2b-256 | ee5ae106c0e079e5f462612fac2b8904dbd3f354881b1e63fc5d032cb7c62894 |
Hashes for django_doctor-2.5.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c4389b829cdbf4b80aa974cb8084f2572e67f4c495c88726c2a412d7c24d392 |
|
MD5 | 32bbc83a5acdaa56fad36d3c5641b188 |
|
BLAKE2b-256 | 229bfa71b7585cb2e2b1614066fa9b69f8dfdb8de6fada740a692543ad0c77ac |
Hashes for django_doctor-2.5.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3092e5284db6e541ff8bde09ad64499b3355f3c613f05d66a451881a819abfcd |
|
MD5 | 55b7d15fc03d31fe8c0f459a06782aa1 |
|
BLAKE2b-256 | 8a6e1b6229b36a390580fb4c5a65b21a478efca39dac30972db99e6f51782703 |
Hashes for django_doctor-2.5.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0722479b406ea02625007e9c1f7552590db85255444553aced58701c574aedd |
|
MD5 | 5d14958f264a8e9a06cefbf1d3567aad |
|
BLAKE2b-256 | 159924e89084a2daa175d1ff82bf2b694dbcdab2104027f702640b12f2186525 |
Hashes for django_doctor-2.5.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05cf09520cb372d456b4c4c8a073ca8cc6cc43baa3c29323369ada3652c80f0e |
|
MD5 | 1365bfb5f7dc66572bee6f13a4115be3 |
|
BLAKE2b-256 | 8b7bde85b830027855eb82484c4d28e541499e5f8911932559f44bdf225e14dd |
Hashes for django_doctor-2.5.0-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a585d760df0e19d321420d3c1598eb3c1056468524431c4a4d36eaa1c12dd5c1 |
|
MD5 | 08876d0dcaadc12af9651b7383987456 |
|
BLAKE2b-256 | 62f637ca0fd0411f4e6ecdffb2158af442a5b1fb5957a3ab8aa4ccad222b83cd |
Hashes for django_doctor-2.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55a6c4730f89f61ea960001758da779267ed9dbfc6eebf7f5b6d9df9a94b64cd |
|
MD5 | 4764a05ba72d1c431b2b7a1028435d09 |
|
BLAKE2b-256 | 40b8a4c8349435bb34899c7908b6fe1cf4dfec02ebdf1b98de27c9b126d51a1c |
Hashes for django_doctor-2.5.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92e2cd10870f8f3a1141582895f007dd9685405c8a969f4edac2763380d6b3b1 |
|
MD5 | 2f4605550d0dae7082d343d193426ab2 |
|
BLAKE2b-256 | 2b8c7ce3bee68298a4fa68e9ce47a73b8c64eda62f3f075fefba56aebba9e341 |
Hashes for django_doctor-2.5.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69c934ce3b3079491ef659e2312c6342b9faa5e1cec8831f153e2ae725dc690f |
|
MD5 | e75c3881e7c1dc559f0732ade5dd0c9e |
|
BLAKE2b-256 | cb53cc97d80457e9022677e408e0e7a58cbd5e4eea57449ff0607d3bab4e480e |
Hashes for django_doctor-2.5.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53de38f82731904c360d5496089468c02a0f09c030b903605abd64aa2a9efa77 |
|
MD5 | c25f54eda0b5dc3ff83357e4fe43eb34 |
|
BLAKE2b-256 | 6e0f80eb44204547be61eeff1f4964c65e2bcc7afb5596b1fbe01ae9365f2023 |
Hashes for django_doctor-2.5.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1c00f6c189eeed8414710967f9982fcd0dd4eaac88e3f9369b4fbcf26bc34a8 |
|
MD5 | b365528cc952445619fc7dc9744c7b20 |
|
BLAKE2b-256 | 419bc26f1a2b19d4d3d512817cc2dd17494c08abd1c9eb6b37b78ed44562a914 |
Hashes for django_doctor-2.5.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fbcf003a017db7062dfc2e4780030771870dd3f5a33f069f47a960307b920ce |
|
MD5 | bb43c9a377391ebfd2714bc1a50a1e74 |
|
BLAKE2b-256 | e0cc094221e90b7e28d3c8c85115a794007c56d3a8df8313910168e4b3c24288 |
Hashes for django_doctor-2.5.0-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc99feefa97caaf8bb99bae40d66b287e85a86837f20a71c87ef2d3ea47cdcf4 |
|
MD5 | 902aa07b9edec98e535c3bac375917f4 |
|
BLAKE2b-256 | 1633a90f58605c29558b4d49725cfbc18b7aa4ddf2c5c3b428bb63eac19c7619 |
Hashes for django_doctor-2.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04931a62dd0b31901084ae4003d025c5fcfd2165022c760fe31814d615e17777 |
|
MD5 | 7a56a69933ec8ab5db6c2af491006d09 |
|
BLAKE2b-256 | f5b6988a7cf788dd4cfe2cd2fb4b3f517862e84b4b34a5de2001b63d5c00ee1e |