1.
[Debug]
在
settings.py
裡面有一小項名為DEBUG。
顧名思義,就是在出錯時頁面會回傳error codes。
它是一個Boolean,最初都設為True,方便developers使用。
例如網址錯誤,它會顯示exceptions (error page),說明現有哪些regex是可以通過。
但當真正deploy於internet時,假如遇上這種情況,我們會比較希望頁面顯示成404 Page Not Found。
所以除非under development,它的值應該為False。
雖說是False,但管理人員還是可以收到error code。
同樣在
settings.py
,可以設立一個list:
ADMIN =[ ("<admin_name>", "email_address") ]
這樣即使在DEBUG = False 情況下,有關的admins還是會收到full exception的email。
2.
[Deploy]
把django site upload至
:::PythonAnyWhere:::。
一個支援Python + Django 的平台:
先把整個project zipped:
>python -m zipfile -c <project_name>.zip <project_name>
連上
:::PythonAnyWhere:::
到FILE分頁,把
<project_name>.zip
upload上去
到console頁面,開啟bash console
$unzip <project_name>.zip
如需要把project在pythonanywhere也打算virtual environment下運行,可以在同一console新增:
$virtualenv --python=python3.6 <project_name>_venv
$source <project_name>_venv/bin/activate
$python -m pip install pipenv
$pipenv install Django
到WEB分頁新增app,使用manual configuration,揀選python版本
同樣在WEB分頁,把virtual environment部分的路徑加入:
/home/<username>/.virtualenv/<project_name>_venv/
到code部分,把
WSGI
的內容 copy&paste 改為:
import os
import sys
path = '/home/<username>/<project_name>'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = '<project_name>.settings'
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
最後在同樣WEB分頁點選reload,重新載入設定。
日後雖要修改網站時,同樣把project zipped,upload,用console unzip,reload。