Пользовательская команда django не найдена
У вас возникли проблемы с получением рабочих команд django.
Из django documetation, разместили
application/
manage.py
blog/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
myapp_task.py
views.py
Содержимое myapp_task.py
from django.core.management.base import NoArgsCommand
class Command(NoArgsCommand):
def handle_noargs(self, **options):
print 'Doing task...'
# invoke the functions you need to run on your project here
print 'Done'
при запуске
python manage.py myapp_task
получение ошибки
Unknown command: 'myapp_task'
Ответы
Ответ 1
Структура каталогов в вашем ответе немного неоднозначна; при размещении файлов следующим образом django должен иметь возможность найти вашу команду:
project/ # in your question this would be 'application'
manage.py
blog/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
myapp_task.py
views.py
Кроме того, вам нужно включить свое приложение в свой settings.py
:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'blog', # <= your app here ...
)
Ответ 2
У меня была та же проблема. Причина заключалась в том, что корень проекта не был в моей $PYTHONPATH. Решение в этом случае состоит в том, чтобы набрать (на машине Linux) что-то вроде
PYTHONPATH=./project python manage.py myapp_task
Ответ 3
Я думаю, что команды/должны находиться внутри каталога management/.
Ответ 4
Если проект скомпилирован, django.core.management.find_commands() будет искать только файлы .py. Если ваши пользовательские команды находятся в .pyc файлах, вам нужно исправить django/core/management/commands/__ init__.py с патчем https://code.djangoproject.com/ticket/19085
Ответ 5
Это связано с тем, что init.pyc не создается автоматически в папке "management" и "commands". Скопируйте your_app/__init__.py
и your_app/__init__.pyc
и вставьте его в папку управления//команды/.