django框架介紹
1.django框架特點
Django 是用python語言開發的開源的web框架, 並遵循MVC設計, 簡便快捷的開發數據庫驅動的網站,擴展性很好.
重量級框架, 對比flask
提供項目工程管理的自動化腳本 flask需要flask_script擴展
數據庫ORM支持 flask需要flask_SQLalchemy
模板 flask需要Jinja2
表單 flask需要flask_WTF
Admin管理站點
文件管理
認證權限
session flask內核提供
緩存
2. web框架的學習方法:
搭建工程程序:
a. 工程的組建
b. 工程的配置
c. 路由定義
d. 視圖函數的定義
獲取請求數據, 構造響應數據, 中間件的使用
框架提供的其他功能: 數據庫 admin 模板
3. MVT模式:
MVC(Model view controller )
模式中 v對應的是template c 對應的是 view
核心思想是分工解耦, 讓不同的代碼塊之間降低耦合, 增強代碼的可擴展型和可移植性,實現向後兼容.
M: model 主要封裝對數據庫層的訪問, 對數據庫進行增刪改查
V: view 用於 接受請求進行業務邏輯的處理
T: template 封裝結果, 生成頁面展示的html內容
1. 中間層處理: 在視圖函數處理前後, 要經過中間層的處理, flask中叫請求鉤子, WSGI協議中規定要有中間層
4.工程目錄結構
django-admin startproject 工程名稱
與項目同名的目錄,這個文件夾中都是一些配置文件
a. settings.py是項目的整體配置文件
b. urls.py 是項目的url 配置文件
c. wsgi.py 是項目與WSGI 兼容的web服務器入口
d. manage.py 是項目管理文件,通過它管理項目
運行開發服務器:
python manage.py runserver ip:端口
默認的端口是8000
- 創建子應用:
增加複用性, 可以直接把需要的模塊複製過去,
python manag.py startapp 子應用的名稱
a. admin.py 文件跟網站後臺管理配置
b. apps.py 配置當前子應用的相關信息
c. migrations 數據庫遷移的文件
d. models.py 數據庫模型
e. tests.py 測試文件
f. views.py 編寫web 應用視圖
把新創建的app註冊到項目配置文件sttings.py裏面
users.apps.UsersConfig- 創建視圖
視圖函數就是用來接受請求,處理業務邏輯,最後返回響應
創建視圖函數的參數是 request必須要傳
request 是HttpRequest的對象
:return 一個響應對象
在app模塊下創建urls.py 裏面的路由放在 urlpatterns=[] 列表中
urlpatterns = [
url(路徑, 視圖)
url(r"^index/結尾
django框架在匹配url的時候, 會過濾掉 ip端口/
- 創建視圖
- 配置文件
setting裏面的BASE_IDR 根目錄, setting文件的父級的父級目錄
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(file)))
DEBUG = False後, allow_host裏面要設置指定訪問的ip ‘*’
本地化的操作:
LANGUAGE_CODE = “zh-hans”
TIME_ZONE = “Asia/Shanghai”
靜態文件的使用:
STATIC_URL = ‘/static/’ 訪問靜態文件的url的前綴
可以存放在項目中或者應用中, 推薦放在項目中
STATICFILES_DITS存放查找靜態文件的目錄
debug = false不在對外提供靜態服務