2016-01-08 51 views
3

項目結構我是新Django和使用Pycharm的IntelliJ從我的IDE。當鍵入:Django的應用

$ 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' - 因爲每個應用程序都可以擁有它自己的一組網址和子網址。 –

回答

0

這是典型的項目佈局,你可以在the tutorial看到。

您可以更改佈局,如果你想要的,但我建議你不這樣做。如果移動settings.py會混淆manage.py,如果你感動urls.py那麼你就必須在settings.py更新ROOT_URLCONF,等等。

0

如果你希望你的settings.pyurl.pywsgi.py文件存儲在與manage.py根項目目錄,你可以這樣做,但你必須做一些改變到settings.py文件和本地運行項目的方式。

  • 使用python manage.py runserver --settings=settings(而不是默認的python manage.py runserver -settings=mysite.settings)來告訴Django使用一個設置文件的根項目目錄。

  • 變化ROOT_URLCONFsettings.py'mysite.urls''urls'

  • change WSGI_APPLICATION in settings.py from 'mysite.wsgi.application' to 'wsgi.application'

根據喜好,它實際上是比較常見的改變你的項目(在合理範圍內)的結構。例如,飽讀詩書的Django書的Django的兩勺建議您存儲不同版本的settings.py文件在mysite/settings如下(暫時忽略網址/ WSGI /應用):

mysite/ 
    manage.py 
    settings/ 
     base.py 
     local.py 
     staging.py 
     production.py