Django 從零開始的新手任務
分類
說明
本篇說明 Django 要渲染 Hello World! 到瀏覽器之前,所要做的事
剛建立 Django 除了跑出 Django 專案之外
你還需要做一些設定,做完這些設定之後,才算完成新手任務
如需詳細的內容,需自行到官網查看
安裝 Django
可以到 django 官方文件 看如何安裝
如果你是 mac 系統,可以很方便地用 Homebrew 行雲流水地安裝
以下沒有安裝伺服器,因為範例會在本機執行
終端
安裝 python
$ brew install python
請確認 python 版本,系統可能同時存在 python2 和 python3
如果最新版要用 python3 指令才可以看到
後面的 python 指令,請替換成 python3
$ python --version
$ python3 --version
安裝 Django
$ python -m pip install Django
查看 pip 安裝清單,確認 Django 是否安裝
$ python -m pip list
安裝資料庫(可選)
一開始專案會使用 sqlite,在 mac 系統預設應該會安裝
若有需要使用資料庫,可以考慮 PostgreSQL
我看到官方文件有一篇在講解 PostgreSQL 特有模型字段 可能會比較好用
終端
# 使用 homebrew 安裝 PostgreSQL
$ brew install postgresql
# 啟動 postgresql server,預設 port 應該是 5432
$ brew services start postgresql
# 預設可以使用 postgres 連接
$ psql postgres
# 直接下指令建立資料庫
$ createdb my_db
# 建立使用者
# -s 超級使用者
$ createuser -s joe
建立 Django 專案
安裝完 Django 後,就可以用指令建立建立 Django 專案
專案名稱請自行更換
$ django-admin startproject 專案名稱
建立應用程式
每個專案可以有多個應用程式,在這裡先建立一個
應用程式名稱請自行更換
$ python manage.py startapp 應用程式名稱
每個應用程式都有自己的 templates, static, view, urls…等等,與本篇接下來講 templates, static 不同,你可以想成專案級別的 templates 和應用程式級別的 templates,應用程式級別的 templates 只適用於此應用程式,專案級別的 templates 適用於專案底下所有的應用程式。
詳細的應用程式設定請參考 Django 建立一個 app 要做的事情。
建立 templates 目錄
這個是模板目錄,你可能比較知道 MVC (Model-View-Controller) 架構
但 Django 是 MTV (Model-Template-View) 架構
你可以把 template 想成 MVC 的 view
終端
切換到專案目錄
$ cd path/to/your_project
建立 templates 目錄
$ mkdir templates
右鍵新增資料夾也可以
建立 static_files 目錄
這個目錄是用來儲存靜態檔的,像是 css, javascript, image 等等
終端
切換到專案目錄
$ cd path/to/your_project
建立 static_files 目錄
$ mkdir static_files
建立 migration
migration 就像是資料庫的版本控制
你做的每一個資料庫的更動,都會記錄在 migration 檔裡
資料庫的更動是新增 table 之類的
如果是 table 新增一筆資料那個不算是資料庫的更動
終端
切換到專案目錄
$ cd path/to/your_project
建立 migration
$ python3 manage.py makemigrations
模型與資料庫同步,雖然剛建立專案還沒用到模型(Model)
但還是可以先同步專案內建的模型
$ python3 manage.py migrate
專案加入剛剛建立的應用程式
在 setting 檔加入 app
/path/to/your_project/your_project/settings.py
# Application definition
INSTALLED_APPS = [
# 略
'your_app',
]
設定模板路徑
在 setting 檔設定模板路徑
/path/to/your_project/your_project/settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
# 略
},
]
設定語系
在 setting 檔設定語系,語系依你的需求而設定
/path/to/your_project/your_project/settings.py
# 繁體中文
LANGUAGE_CODE = 'zh-hant'
# 台北時區
TIME_ZONE = 'Asia/Taipei'
設定靜態檔案路徑
在 setting 檔設定靜態檔案路徑
/path/to/your_project/your_project/settings.py
STATIC_ROOT = BASE_DIR / 'static'
STATIC_URL = 'static/'
STATICFILES_DIRS = [
BASE_DIR / 'static_files',
]
參考
相關文章:
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!