Django 框架簡介與使用注意事項
一、Django 框架簡介
MVC 框架
MVC,全名是 Model View Controller,是軟件工程中的一種軟件架構模式,把軟件系統分爲三個基本部分:模型 (Model)、視圖(View) 和控制器(Controller),具有耦合性低、重用性高、生命週期成本低等優點。
Django 框架的設計模式借鑑了 MVC 框架的思想,也是分成三部分,來降低各個部分之間的耦合性。
Django 框架的不同之處在於它拆分的三部分爲:Model(模型)、Template(模板)和 View(視圖),也就是 MTV 框架。
模型: 負責業務對象與數據庫的映射 (ORM),視圖: 負責與用戶的交互 (頁面),控制器: 接受用戶的輸入調用模型和視圖完成用戶的請求
Django 的 MTV 模式
Model(模型):負責業務對象與數據庫的對象 (ORM)
Template(模版):負責如何把頁面展示給用戶 (html)
View(視圖):負責業務邏輯,並在適當的時候調用 Model 和 Template
此外,Django 還有一個 urls 分發器,它的作用是將一個個 URL 的頁面請求分發給不同的 view 處理,view 再調用相應的 Model 和 Template
Django 框架圖示
二、Django 下載安裝與使用注意事項
- 安裝 django
pip3 install django==1.11.11
- 創建 django 項目
在 cmd 命令行下創建一個名爲 mysite 的 Django 項目
django-admin startproject mysite
- 目錄介紹
mysite
├── manage.py # Django入口管理文件
└── templates # 存放html文件
└── mysite # 項目目錄
├── __init__.py
├── settings.py # 配置
├── urls.py # 路由 --> URL和函數的對應關係
└── wsgi.py # runserver命令就使用wsgiref模塊做簡單的web server
- 模板文件配置
使用命令行創建 django 項目 不會自動幫你創建 templates 文件夾, 只能自己創建
在. settings 文件中 需要你手動在 TEMPLATES 的 DIRS 寫配置
[os.path.join(BASE_DIR, 'templates')]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 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',
],
},
},
]
- 啓動 django 項目
python manage.py runserver
當我們訪問:http://127.0.0.1:8080 / 時就可以看到圖下,即代表成功
- 創建應用 app01
python manage.py startapp app01
在 pycharm 創建 app
在輸入框直接輸入以下命令即可創建一個名爲 app02 的 APP
7.app 應用目錄:
└── app01 # 項目目錄
├── migrations文件夾 # 存放數據庫遷移記錄
├── __init__.py
├── admin.py # django後臺管理
└── apps.py # 註冊相關
└── models.py # 模型類
└── tests.py # 測試文件
└── views.py # 存放視圖函數
注意:如果是在命令行下創建 app 後, 需要你去 settings 配置文件中註冊添加 app 名字。這樣 django 項目才能識別到你這個 app
- 靜態文件配置:
靜態文件配置官方文檔
什麼是靜態文件?
靜態文件就是在打開網頁時所用到的 圖片、 js、css 以及第三方的框架 bootstrap、fontawesome、sweetalert
通常情況下 網站所用到的靜態文件資源 統一都放在 static 文件夾下,爲了方便識別
STATIC_URL = '/static/' # 是訪問靜態資源的接口前綴,並不是存放靜態文件的文件夾
"""只要你想訪問靜態資源 你就必須以static開頭"""
# 手動在settings最底下添加配置靜態文件訪問資源
# 下面都是存放靜態文件的文件夾的路徑
# 從上往下找靜態文件,找不到就報錯
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static1'),
os.path.join(BASE_DIR,'static2'),
]
圖解:
- 禁用中間件:
前期爲了方便表單提交測試。在 settings 配置文件中暫時禁用 csrf 中間件
- 重定向:
重定向的意思就是,我訪問的鏈接不是我剛剛輸入的那個鏈接,而是我一輸入他就跳轉到了另外一個鏈接,這就是重定向
最後注意事項:
- 計算機的名稱不能有中文
- 一個 pycharm 窗口就是一個項目
- 項目名裏面儘量不要用中文
django 版本問題
1.X 2.X 現在市面上用的比較多的還是 1.X
推薦使用 1.11.9~1.11.13
django 安裝
pip3 install django==1.11.11
如何驗證 django 是否安裝成功
命令行直接敲 django-admin
一個 django 項目就類似於是一所大學,而 app 就類似於大學裏面的學院
django 其實就是用來一個個應用的
一個 app 就相當於一塊獨立的功能
用戶功能
管理功能
.........
django 支持任意多個 app
三、Django 的請求生命流程圖
來源:
https://www.cnblogs.com/guapitomjoy/p/11747691.html
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/fuWeCNNI7sM3zWk0i66p5A