2022年區塊鏈領域的四大看點| 介面預言家
阿新 • • 發佈:2022-01-11
4-Django簡介
一 MVC與MTV模型
1.1 MVC
Web伺服器開發領域裡著名的MVC模式,所謂MVC就是把Web應用分為模型(M),控制器(C)和檢視(V)三層,他們之間以一種外掛式的、鬆耦合的方式連線在一起,模型負責業務物件與資料庫的對映(ORM),檢視負責與使用者的互動(頁面),控制器接受使用者的輸入呼叫模型和檢視完成使用者的請求,其示意圖如下所示:
1.2 MTV
Django的MTV模式本質上和MVC是一樣的,也是為了各元件間保持鬆耦合關係,只是定義上有些許不同,Django的MTV分別是值:
- M 代表模型(Model): 負責業務物件和資料庫的關係對映(ORM)。
- T 代表模板 (Template):負責如何把頁面展示給使用者(html)。
- V 代表檢視(View): 負責業務邏輯,並在適當時候呼叫Model和Template。
除了以上三層之外,還需要一個URL分發器,它的作用是將一個個URL的頁面請求分發給不同的View處理,View再呼叫相應的Model和Template,MTV的響應模式如下所示:
一般是使用者通過瀏覽器向我們的伺服器發起一個請求(request),這個請求回去訪問檢視函式,(如果不涉及到資料呼叫,那麼這個時候檢視函式返回一個模板也就是一個網頁給使用者),檢視函式呼叫模型,模型去資料庫查詢資料,然後逐級返回,檢視函式把返回的資料填充到模板中空格中,最後返回網頁給使用者。
二 Django的下載與基本命令
2.1 下載Django
方式一:在命令列輸入:pip3 install django
pip install django==1.11.9 -ihttp://pypi.hustunique.org/simple指定版本號,指定國內映象
方式二:用pycharm安裝
方式三:用pycharm的Terminal的命令列安裝
2.2 建立一個django project
django-admin.py startproject mysite
當前目錄下會生成mysite的工程,目錄結構如下:
- manage.py ----- Django專案裡面的工具,通過它可以呼叫django shell和資料庫等。
- settings.py ---- 包含了專案的預設設定,包括資料庫資訊,除錯標誌以及其他一些工作的變數。
- urls.py ----- 負責把URL模式對映到應用程式。
2.3 在mysite目錄下建立應用
python manage.py startapp blog
2.4 啟動django專案
python manage.py runserver 8001
這樣我們的django就啟動起來了!當我們訪問:http://127.0.0.1:8080/時就可以看到:
三 基於Django實現的一個簡單示例
3.1 URL控制器
from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',views.index),
]
3.2 檢視
from django.shortcuts import render
def index(request):
import datetime
now=datetime.datetime.now()
ctime=now.strftime("%Y-%m-%d %X")
return render(request,"index.html",{"ctime":ctime})
3.3 模版
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h4>當前時間:{{ ctime }}</h4>
</body>
</html>
四 Django靜態檔案配置
4.1 static
新建一個目錄叫:static,我們的css檔案,js檔案,圖片檔案都放在這下面
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
4.2 mycss.css
h4{
color:red;
}
4.3 myjs.js
$('h4').click(function () {
$(this).css("color","green");
})
4.4 insex.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="/static/mycss.css">
<script src="/static/jquery-3.3.1.js"></script>
</head>
<body>
<h4>我是紅色,點選變綠</h4>
</body>
<script src="/static/myjs.js"></script>
</html>
五 Django請求生命週期
六 Django與其他web框架
'''
a socket服務端
b 根據url不同返回不同的內容
url---檢視函式
c 字串返回給使用者
特殊字元替換
Web框架種類:
a b c Tornado
別人的a b c django(a用的wsgiref)
別人a b 別人c flask(c用的jinja2)
另一種分類:
Django和其它
'''