2016-01-08 3 views
3

Я новичок в Django и использую Pycharm от IntelliJ в качестве моей IDE. При вводе:Структура проекта для приложения Django

$ Джанго-админ startproject MySite генерируется

следующая структура проекта:

mysite/ 
    manage.py 
    mysite/ 
     __init__.py 
     settings.py 
     urls.py 
     wsgi.py 

Это не совсем имеет смысла, так как файлы settings.py, urls.py и wsgi.py специфичны для проекта, а не для приложения или пакета. Следовательно, они должны войти в корневую папку, как manage.py. Пожалуйста, порекомендуйте. Благодарю.

+0

структуры вы перечислили не имеет большого смысла - вы можете переформатировать его. Я бы ожидал, что команда 'startproject' верна, и поэтому' settings.py' находится в нужном месте. Я знаю, что у вас может быть 'urls.py' для каждого приложения, так как каждое приложение может иметь собственный набор URL-адресов и подзаголовков. –

ответ

0

Это типичная схема проекта, как вы можете видеть в the tutorial.

Вы можете изменить макет, если хотите, но я рекомендую, чтобы вы этого не сделали. Если вы переместили settings.py, который смутил бы manage.py, если вы переместили urls.py, то вам нужно будет обновить ROOT_URLCONF в settings.py и так далее.

0

Если вы хотите сохранить ваши settings.py, url.py и wsgi.py файлы в корневой директории проекта с manage.py вы можете сделать это, но вам придется сделать несколько изменений в settings.py файл и, как вы ведете свой проект на местном уровне ,

  • использование python manage.py runserver --settings=settings (вместо стандартного python manage.py runserver -settings=mysite.settings) сказать Django использовать файл настройки в корневой директории проекта.

  • изменение ROOT_URLCONF в settings.py от 'mysite.urls' до 'urls'.

  • изменение WSGI_APPLICATION в settings.py от 'mysite.wsgi.application' до 'wsgi.application'.

В зависимости от предпочтений на самом деле относительно часто изменяется структура вашего проекта (в пределах разумного). Например, хорошо читаемое Джанго книга Два Совки Django предполагает, что хранить различные версии ваших settings.py файлов в mysite/settings следующим образом (без учета URLS/WSGI/приложений на данный момент):

mysite/ 
    manage.py 
    settings/ 
     base.py 
     local.py 
     staging.py 
     production.py 
Смежные вопросы