Что такое "management.py" в Django? - PullRequest
       2

Что такое "management.py" в Django?

6 голосов
/ 16 декабря 2010

Согласно этой документации, я должен что-то поместить в файл management.py, чтобы все создавалось при запуске «syncdb»

Где я могу это сделать?Я нигде не вижу management.py.

http://code.google.com/p/django-notification/wiki/IntegratingNotification#Creating_Notice_Types

Ответы [ 3 ]

6 голосов
/ 16 декабря 2010

Поместите его в каталог соответствующего приложения. Например, если у вас есть проект вроде:

my_project/
    my_app/
        models.py
        views.py
        tests.py

Воткните сюда:

my_project/
    my_app/
        management.py
        models.py
        views.py
        tests.py

(Это сделает модуль управления в пакете * my_app * в терминологии Python.)

0 голосов
/ 18 августа 2013

Из руководства Django:

django.db.models.signals.pre_syncdb

Передается командой syncdb передоно начинает устанавливать приложение.

Любые обработчики, которые прослушивают этот сигнал, должны быть записаны в определенном месте: модуль управления в одном из ваших INSTALLED_APPS.Если обработчики зарегистрированы где-либо еще, они не могут быть загружены syncdb.

Это потому, что syncdb не будет загружать все части проекта django, поэтому, если вы определите свои сигналы для syncdb в models.py, он не найдет его, но определенные здесь сигналы не должны быть где-либо еще в рамках.

0 голосов
/ 03 марта 2013

Не каждый модуль в приложении django выполняется при запуске проекта. Только models.py есть. Это уродливо, но вы можете поместить туда код. Файл management.py, вероятно, является ошибкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...