Python environment on Windows
-
用
conda create -n dj python=3.10
建立 python 虛擬環境 -
使用
conda activate dj
-
安裝 Django、PyMySQL
pip install django pip install pymysql
Django 基本說明
Django 網絡應用程序通常將處理每個步驟的代碼分組到單獨的文件中:
URLs: 雖然可以通過單個功能來處理來自每個 URL 的請求,但是編寫單獨的視圖函數來處理每個資源是更加可維護的。URL 映射器用於根據請求 URL 將 HTTP 請求重定向到相應的視圖。URL 映射器還可以匹配出現在 URL 中的字符串或數字的特定模式,並將其作為數據傳遞給視圖功能。
View: 視圖是一個請求處理函數,它接收 HTTP 請求並返回 HTTP 響應。視圖通過模型訪問滿足請求所需的數據,並將響應的格式委託給模板。
Models: 模型是定義應用程序數據結構的 Python 對象,並提供在數據庫中管理(添加,修改,刪除)和查詢記錄的機制。
Templates: 模板是定義文件(例如 HTML 頁面)的結構或佈局的文本文件,用於表示實際內容的佔位符。一個視圖可以使用 HTML 模板,從數據填充它動態地創建一個 HTML 頁面模型。可以使用模板來定義任何類型的文件的結構;它不一定是 HTML!
確認 django 安裝版本(檢查是否安裝成功)
import django
print(django.VERSION)
print(django.get_version())
django 常用功能
用 CMD 來產生 django 專案
(有手動把產生的 erp_site資料夾 移至 git根目錄)
django-admin startproject [Project_Name]
啟動 django server
python manage.py runserver
新增 App
python manage.py startapp [App_Name]
同步資料庫
makemigrations
根據你對 Model 的修改刪除建立一個新的 migration 檔案
讓 migrate
指令執行時,可以照著這份紀錄更新資料庫
python manage.py makemigrations
如果沒有建出資料表則要輸入對應App名稱
python manage.py makemigrations [App_Name]
migrate
會根據 INSTALLED_APPS 的設定,按照 app 順序建立或更新資料表,
將你在 models.py 裡的更新跟資料庫同步
python manage.py migrate
建立超級使用者帳號
python manage.py createsuperuser
setting.py
設定 static files 路徑
STATICFILES_DIRS: 開發階段,static files 存放的位置,可以寫入多個路徑
STATIC_ROOT: 正式環境中,透過 collectstatic
指令布署包含 django 內部的靜態檔案,將 STATICFILES_DIRS 設定目錄下檔案,收錄到 STATIC_ROOT 指定目錄
django 模板語法
{% %}
標記起來的部分稱為模板標籤
{{ }}
標記起來部分稱為模板變數
{% load static %}
: 要放最前面,才能載入 static 靜態文件
{% static 'bootstrap/css/bootstrap.min.css' %}
: 引入 bootstrap 的 css 檔案
{% block title %}{% endblock %}
: 預留網站標題的位置,可在繼承此範本的子範本中重新編寫內容
{% block content %}{% endblock content %}
: 預留網站內容的位置,可在繼承此範本的子範本中重新編寫內容
{% include 'header.html' %}
: 包含 header.html 文件,相當於將 header.html 檔案中的程式碼填入指定位置
{% extends "parent template.html" %}
: template 繼承
POST-Form & CSRF (Fixed #7)
<form method="post">
<!-- 加入 csrf 金鑰給 django server 驗證 -->
{% csrf_token %}
...
</form>
部署
- 靜態檔案
python manage.py collectstatic
- 確認部署
python manage.py check --deploy