Imagine I have two or more apps in my django project, I was able to successfully write and execute custom manage.py commands when I had only one app, A
.
Now I have a new app, B
, and as mentioned in https://docs.djangoproject.com/en/dev/howto/custom-management-commands/ I created directory structure of B/manangement/commands
and wrote a custom module.
When I run python manage.py , it keeps complaining Unknown command
. However if I move this command to other app, i.e. to folder A/management/commands
and then run python manage.py <command>
, it works seamlessly.
Any idea how I can resolve this?
django-admin is Django's command-line utility for administrative tasks. This document outlines all it can do. In addition, manage.py is automatically created in each Django project.
Django-admin.py: It is a Django's command line utility for administrative tasks. Manage.py: It is an automatically created file in each Django project. It is a thin wrapper around the Django-admin.py.
As @Babu said in the comments, It looks like you may not have added your app to INSTALLED_APPS
in your settings.py
.
It's also possible that you're missing the __init__.py
files (that are required in python modules) from the management
and commands
folders.
Alternatively, (sorry to say this) you may have misspelt "management" or "commands", or even the name of the command you're running.
Most likely, you did not include app B in your settings.py
If you just run python manage.py
with no command specified, it will print the list of commands Django can find.
This can help rule out misspelling the command name, but doesn't answer the question of whether or not you made management
and commands
both packages, or if app B simply isn't listed in your settings.INSTALLED_APPS
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With