How to write custom django manage.py commands in multiple apps

user1335608 picture user1335608 · Jul 31, 2013 · Viewed 14.4k times · Source

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?

Answer

meshy picture meshy · Jul 31, 2013

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.