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.6.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38a9926cb602b8dbf06d62892d92ae9532d542314642c0bc65d119e8d2efab3c |
|
MD5 | 178a42da0b6392e6e951b33dcf98daab |
|
BLAKE2b-256 | 3c5b9c675537c9e9a08ee839e11d95ba7ffb7b143018b19dfed21baad6cdbbbe |
Hashes for django_doctor-2.6.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf6fc22ffbec863cb4bc5beaf261305e569b47dfc2e2c4958a780eb58c4130b0 |
|
MD5 | 219237bc7e2d48bc0201c802807ca9e8 |
|
BLAKE2b-256 | 7894ea851e879a7aad298db2e5f4e8e754de844c606f692e0c7bc62421dafe02 |
Hashes for django_doctor-2.6.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 733aa22e8f466a171a4b1d13e316211b0afd6d7f73f9f7b47781fc18ca4038a4 |
|
MD5 | 5182c24b05a50c824827e53b884713ee |
|
BLAKE2b-256 | 78e1f111af519903ba9ba9b1784937f03b76b709ddbfdd76ce944be530e61cc5 |
Hashes for django_doctor-2.6.0-cp39-cp39-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bde876be167a4ad0597e0ccec27c1343695a074400b33652ab2541bac58898d7 |
|
MD5 | f4bb86a6d382fac8b5e09d2cb7571119 |
|
BLAKE2b-256 | 185ceb89e1e69d33aec163e03efe5d048762e9831f1cb2bc20f907a481331302 |
Hashes for django_doctor-2.6.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee3c7e5e84d13abc4b43db78579479191580e64d43df955c74898b1184813cc5 |
|
MD5 | 2d48b22654059f22b0811e1ed15e7763 |
|
BLAKE2b-256 | d7b2c655721e2ec4aee1140914e4f4f25d07581e4dc0d2cb4c3a8219f0382b7e |
Hashes for django_doctor-2.6.0-cp39-cp39-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 618860f8e890b2eb016991a28e56d563de6f30964bb9177fb54beaf4642b1e3a |
|
MD5 | 300956ab739a92c8af361856c0864e76 |
|
BLAKE2b-256 | 0134f79e4197729bf770ddd17500861a588a29f71a1ee196926395d3ca09ad7b |
Hashes for django_doctor-2.6.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75a2b63ce91b50feed7a01e05de4038c6caac41b2f0f67a12e87ba6fead15fad |
|
MD5 | ac68532726773900bdcc18d6c756e0d8 |
|
BLAKE2b-256 | e7b99824981b8f99bdafed5bea0efaff337c60b75398e45121fccbddb556cd40 |
Hashes for django_doctor-2.6.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 932941fa20d4e39ecd09ae9b7d17cde234ee9265a6228e435a2c2a14f55f02bf |
|
MD5 | 891d389d7d504ea7e281a37eb100cf87 |
|
BLAKE2b-256 | f7e0a3dea71623663e093fd15c39e446358c9d10152872255d5165ebb0313f27 |
Hashes for django_doctor-2.6.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 782c448390a9e0234da79c078060281ba04108971445decc40cf00c84d7e80c5 |
|
MD5 | cdf5b9247da85759f444ef3127921278 |
|
BLAKE2b-256 | a234d4db0500be686705c9500876fe578f6cc05278fd74c010816700a860cd33 |
Hashes for django_doctor-2.6.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b6e97d25bc3f03ef56ba96691f31d4d05b76e55d9fce7f4cf4583d7c4c6017b |
|
MD5 | de8851dc2aaa20bc00795fa34df8bb37 |
|
BLAKE2b-256 | dfcbe710067ca5ab9eccb78a9770b10cd9764688c2aec15d9ba089ee8c5af924 |
Hashes for django_doctor-2.6.0-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0fe578a514cc840e7a751e9b7929e05e6cdf75ff3eb76d9f567b73cca0c0029 |
|
MD5 | e55114f4e962ae629b9c86bf1124acc9 |
|
BLAKE2b-256 | 634a548afd420438508bae0e9934791b35fedc7264372b2ddb3b170412f44e73 |
Hashes for django_doctor-2.6.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3188ffa2873fce902db0581873c22568d4349c40b36f8db0920b2fe6255ef27 |
|
MD5 | 12bd263a6e8e9f85959f69be5c2296f6 |
|
BLAKE2b-256 | fb75bd75e7c5ebace49f97741f4a1154f36554497ee135050400cbdd16bbcd4e |
Hashes for django_doctor-2.6.0-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1744c45ec42749687eec9933d4d903cefec5d8e668cb3fca7f4cc3955a7ced71 |
|
MD5 | c44e60697d9759991eb2f19f9f110cc9 |
|
BLAKE2b-256 | 2603fb1cab5f36c9d249c23123dee238893423abfe86f673ee717e32ca63af52 |
Hashes for django_doctor-2.6.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90bb7622d8668c64c8a8312936e6ad895d0cd7e74b18c122a26fb51d797fbcb5 |
|
MD5 | 5d360392c0976782f498a8f764bb70cf |
|
BLAKE2b-256 | 271a96adc2dccaa95520e9cef7c3de7e1f44f8397223c07dc98f818e730d07b2 |
Hashes for django_doctor-2.6.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 567dd84eac882ae902436ad4cca126e944011c70a845ad95e25d899e9c594dcf |
|
MD5 | 0bb149a8bc1483ccbc04b51ddecbe10c |
|
BLAKE2b-256 | 4561771d2a402823b3014a5253015e56453bb5a44414bdeccc0bc86cf749195b |
Hashes for django_doctor-2.6.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f300ad83cb9a1a603926a9431f662e3bb79b4cd6be2b9f5274436b04625b65 |
|
MD5 | 1f255885199fcacf8d3224f3a1728d69 |
|
BLAKE2b-256 | 1413d0fe0392fcac41066746e7a1ea98a6991984982f6947da1c2dee5de1588a |
Hashes for django_doctor-2.6.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca806d1b99fe7252c5f2786d38a537f057ed2a8cb2a8a2fb50711e92e2b0e627 |
|
MD5 | a36a7d2e1d78f0e7aa3a05be7ea55e0b |
|
BLAKE2b-256 | bbf97d45ddea5db9a983cb03c3ae8acc341ab8bee4b5034763923354ffd2676e |
Hashes for django_doctor-2.6.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2680e6bb9e9a7acc62a03e7dd782c0e80ef04b2a5f62a311de08485a77b65ee |
|
MD5 | d4a83169ce21f4d3c4e75bdf06ed34ed |
|
BLAKE2b-256 | 7560ad324fd3b111ac5150735e66b2aa16e66d83a71af7f6c4b635fde92156e3 |
Hashes for django_doctor-2.6.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ae1e0d518cf5aec795a4b11d93a73d861a1b4f734abd2de89cc07f18e9b6fe |
|
MD5 | 05eb3c4f7b2f32ad029467412ea3301d |
|
BLAKE2b-256 | 2af9a87138d0d0fe2c37a69bfafd5a579f03700cca68d65a92c23309a272e2c4 |
Hashes for django_doctor-2.6.0-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 511f0c75d3511cd128b707fb360f018b0091286a0b7354fa6dfeb7c437bf4104 |
|
MD5 | 3b426280423ff44e7ed4eeede0e83ca3 |
|
BLAKE2b-256 | 9164380a8d6a8fc886a8bc2c2e418704c91c4f70f9c55be6530f2005c715efbd |
Hashes for django_doctor-2.6.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ea05e5b6eed052b8cd7ad40bed2b7c2945dca2e9c6f8aad2f3794e9d23cdd38 |
|
MD5 | 5c9cc63ea62764d9170685b20a881c5f |
|
BLAKE2b-256 | 12bed828b88335a30f0ff0cd883c8d8eb4a6e88712d7ebb0e3390c32cd57af62 |
Hashes for django_doctor-2.6.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9221ff1da290a0b2424d3d5c2c23ed228a48712e3862e1a58aaf9fe58544a979 |
|
MD5 | 67adae5b31d9b3ecddc14668ece07606 |
|
BLAKE2b-256 | 90a7e319efbc5061e960b4572e84b9d7c546e715290bf4636f707c1da3de2bad |
Hashes for django_doctor-2.6.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff308e93db0d12280c10261f3e88d9180981dbb9091ee0a425e1c76aa156a82 |
|
MD5 | 1abc8048f0bee42d7bac7a33e02d9aa0 |
|
BLAKE2b-256 | 2344bd3e4aa7618a9411fe08661f8e816cc32169d906fba922de931519edb87a |
Hashes for django_doctor-2.6.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5aa0b5f8d04ef9e83508d5b88f4bd246d6353fbf9b2dfac32a525b8e1475f09 |
|
MD5 | ad0936d7b57f952f82ed4eb7478a4d2b |
|
BLAKE2b-256 | 6e9bb7152a2cf4ef4a2fc0c566b639531146dfa557c5961abc4176279b3369db |
Hashes for django_doctor-2.6.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a20ca276a7795cad11472c668e9cac179aedb7cbfa0a6f5fb5fd5e5fec634b3a |
|
MD5 | 133b4f411106fb6d32f1bdb017ba1f05 |
|
BLAKE2b-256 | 8bdd41a63930773309fee11e1d0e95099eba2587a577687f15d86aae19c0a31e |
Hashes for django_doctor-2.6.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9659114518e5beead1f004a96b49e7c71a0a0976116fde375700f2297a1473af |
|
MD5 | 40b0b90722d377401c61580d5c95bc35 |
|
BLAKE2b-256 | cf802f87ff3e4f6c8a68616f4325ef8f574ff61d2a265ec484791aa74476e73f |
Hashes for django_doctor-2.6.0-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5b29478dec617a8755e1319489269f93c66cee3095a03e351b6ab93a27a130c |
|
MD5 | a153a3d90c9534fe3bdc3b3d04dc11f3 |
|
BLAKE2b-256 | 22733670a02930950982cbf196ccba97f21461f4c00675c1082a6a218a4cba1a |
Hashes for django_doctor-2.6.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b61bc12ec0ba70f65fe475e14b74c7581b017d92ffeba42be4af17cd3235cc71 |
|
MD5 | 566bd7b169334962eabc5d3d15c54a1c |
|
BLAKE2b-256 | 62533ee6724cac85ac0ef6af419e5d7a4f6ab54069bef01175211fc260c58039 |