Settings.py
在Windows terminal透過tree指令可查看專案結構
Mac環境下要使用tree指令則需另外安裝package :1
brew install tree
從專案結構可以發現,根目錄下有個和專案名稱相同的資料夾,其中主要有3個檔案:
- settings.py : 專案設定檔
- url.py : 網頁路徑設定
- wsgi.py : 伺服器閘道介面設定
* manage.py為負責專案管理的Python指令檔
* 什麼是WSGI(Web Server Gateway Interface)? 簡而言之,WSGI就是Server與Web App之間的溝通介面
開啟settings.py,可以看到官方註解寫得挺詳細的,主要設定:
除錯模式設定為True表示網頁拋出Error會直接顯示錯誤訊息,正式發佈網站前務必記得關閉,以免網站弱點就這麼公開了(汗)
1
2SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True新建立的App必須在這裡被定義
1
2
3
4
5
6
7
8
9
10# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
‘{app_name}’,
]網頁模版路徑
在專案目錄下建立templates資料夾:1
md templates # build folder for web templates
* Mac terminal建立資料夾指令和Linux同為mkdir
接著在settings.py中設定路徑,於TEMPLATES中的’DIRS’加入:
os.path.join(BASE_DIR, ‘templates’)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
語系、時區:修改為繁體中文、台灣時區
1
2
3LANGUAGE_CODE = 'zh-Hant'
TIME_ZONE = 'Asia/Taipei'靜態文件路徑
在專案目錄下建立static資料夾:1
md static # build folder for static files(e.g. css, images...)
接著在settings.py中設定路徑,於”STATIC_URL”後面加上:1
2
3STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
Django App
建立應用程式,專案底下可建立多個App,而每個App都可以視為Package1
2
3
4
5
6 start virtual environment first
cd {project_name}
python manage.py startapp {app_name} # build application
python manage.py makemigrations {app_name(optional)} # build data migration for database
python manage.py migrate {app_name(optional)} # data synchronization
* makemigrations與migrate為資料庫同步設定,預設為對所有應用程式同步,因此應用程式名稱為選填