Django 配置
運作 django-admin.py startproject [project-name] 指令會生成一系列檔案,在Django 1.6版本以後的 settings.py 檔案中有以下語句:
1 2 3 | |
這裡用到了python中一個神奇的變量 __file__ 這個變量可以擷取到目前檔案(包含這個代碼的檔案)的路徑。os.path.dirname(__file__) 得到檔案所在目錄,再來一個os.path.dirname()就是目錄的上一級,BASE_DIR 即為 項目 所在目錄。我們在後面的與目錄有關的變量都用它,這樣使得移植性更強。
1 2 3 | |
DEBUG=True 時,如果出現 bug 便于我們看見問題所在,但是部署時最好不要讓使用者看見bug的詳情,可能一些不懷好心的人攻擊網站,造成不必要的麻煩。
1 | |
ALLOWED_HOSTS 允許你設定哪些域名可以通路,即使在 Apache 或 Nginx 等中綁定了,這裡不允許的話,也是不能通路的。
當 DEBUG=False 時,這個為必填項,如果不想輸入,可以用 ALLOW_HOSTS = ['*'] 來允許所有的。
1 2 | |
static 是靜态檔案所有目錄,比如 jquery.js, bootstrap.min.css 等檔案。
一般來說我們隻要把靜态檔案放在 APP 中的 static 目錄下,部署時用 python manage.py collectstatic 就可以把靜态檔案收集到(複制到) STATIC_ROOT 目錄,但是有時我們有一些共用的靜态檔案,這時候可以設定 STATICFILES_DIRS另外弄一個檔案夾,如下:
1 2 3 4 | |
這樣我們就可以把靜态檔案放在 common_static 和 /var/www/static/中了,Django也能找到它們。
1 2 | |
media檔案夾用來存放使用者上傳的檔案,與權限有關,詳情見 Django 靜态檔案 和 Django 部署
有時候有一些模闆不是屬于app的,比如 baidutongji.html, share.html等,
Django 1.5 - Django 1.7
1 2 3 4 5 | |
Django 1.8 及以上版本
1 2 3 4 5 6 7 8 9 | |
這樣 就可以把模闆檔案放在 templates 和 templates2 檔案夾中了。