#python #django #wsgi
#python #django #wsgi
Вопрос:
Итак, я создал приложение django здесь:http://fpaste.org/bkFf без использования django-admin.
Я хочу модель, которую я создал в models.py (http://fpaste.org/i1Vd /) для автоматического создания таблицы в базе данных, как указано в settings.py (http://fpaste.org/GBz0 /).
Я запускаю команду django-admin syncdb —settings=settings.py , что дает мне следующее:http://fpaste.org/tgvK / — но таблицы не создаются (потому что после создания таблиц должно быть указано created table X ….)
Поскольку я не создавал его с помощью django-admin.py у меня нет «проекта», поэтому у меня нет приложения для добавления в переменную INSTALLED_APPS из settings.py .
В конечном счете, мой вопрос — как я могу заставить свои модели инициализировать таблицы в базе данных без необходимости использования django-admin (кроме использования флага syncdb).
Заранее спасибо
Ответ №1:
У меня нет «проекта» — поэтому у меня нет приложения для добавления в INSTALLED_APPS
Это вообще не имеет смысла. Проекты не имеют ничего общего с INSTALLED_APPS. У вас есть settings.py и у вас есть models.py . Введите имя модуля, содержащего модели.введите py в INSTALLED_APPS, и все заработает.
Комментарии:
1. Я думал, что вы создаете проект (через django-admin startproject myproject) и создаете приложение внутри проекта. Это «приложение», содержащее manage. py etc — это то, что нужно было бы добавить в INSTALLED_APPS.
2. Проект содержит manage.py , settings.py и т.д. Приложение этого не делает. Приложение находится там, где models.py , views.py , admin.py и т.д. продолжайте. Просто в проектах много приложений, но приложения имеют один проект.
3. После переработки моего проекта в следующий макет: fpaste.org/XPik и, добавив FirstService в мою переменную INSTALLED_APPS, я снова запустил syncdb, по-прежнему безуспешно. FirstService теперь является модулем (или приложением), который содержит models.py не так ли?