1. 程式人生 > 其它 >Django快速入門之專案配置

Django快速入門之專案配置

django2.0.5入門

開始

環境

python:3.6.2 django:2.0.5

跑起來

用pycharm匯入或新建一個Django專案,在目錄中存在manage.py的檔案,通過下列指令執行Django後臺。

python manage.py runserver

在執行過程中,可能出現報錯,根據error安裝對應的包,或者谷歌解決,成功後終端會列印以下資訊

System check identified no issues (0 silenced).
August 01, 2021 - 15:21:40
Django version 2.0.5, using settings 'structkms.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

在瀏覽器中輸入http://127.0.0.1:8000/, 可跳轉到主頁。Django總體還是一個MVC架構,執行邏輯和SSM差別不大。

以下列目錄結構為例

HelloWorld/
|-- HelloWorld
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- views.py
| |-- views.pyc
| |-- wsgi.py
| `-- wsgi.pyc
|-- manage.py
`-- templates
`-- runoob.html

其中settings.py主要為專案配置資訊,urls.py為路由資訊,views.py為檢視資訊,wsgi為web部署平臺的一些協議規定。

專案配置資訊

在settings.py中可以設定一些檔案目錄、主機資訊、資料庫資訊、Session資訊等等

檔案目錄

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS 
= ( os.path.join(BASE_DIR, "static"), )

其中Base_dir表示當前的專案路徑,Statifiles_dirs表示前端的靜態檔案所在的目錄,static_url是訪問靜態檔案的路徑,也即

使用者訪問/static/ -> 系統訪問STATICFILES_DIRS的路徑

同理,也可以設定upload路徑,進行檔案的上傳下載。

主機資訊

ALLOWED_HOSTS = ['*']

表示允許所有的主機訪問。

資料庫資訊

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'knowledge_map_dev',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '10.1.17.**', # 訪問的主機ip
    }
}

session

SESSION_ENGINE = 'django.contrib.sessions.backends.db'  # 引擎(預設)
SESSION_COOKIE_NAME = "sessionid"  # Session的cookie儲存在瀏覽器上時的key,即:sessionid=隨機字串(預設)
SESSION_COOKIE_PATH = "/"  # Session的cookie儲存的路徑(預設)
SESSION_COOKIE_DOMAIN = None  # Session的cookie儲存的域名(預設)
SESSION_COOKIE_SECURE = False  # 是否Https傳輸cookie(預設)
SESSION_COOKIE_HTTPONLY = True  # 是否Session的cookie只支援http傳輸(預設)
SESSION_COOKIE_AGE = 1209600  # Session的cookie失效日期(2周)(預設)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False  # 是否關閉瀏覽器使得Session過期(預設)
SESSION_SAVE_EVERY_REQUEST = True  # 是否每次請求都儲存Session,預設修改之後才儲存(預設)