Web服務(wù)器開發(fā)領(lǐng)域里著名的MVC模式,所謂MVC就是把Web應(yīng)用分為模型(M),控制器(C)和視圖(V)三層,他們之間以一種插件式的、松耦合的方式連接在一起,模型負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)的映射(ORM),視圖負(fù)責(zé)與用戶的交互(頁(yè)面),控制器接受用戶的輸入調(diào)用模型和視圖完成用戶的請(qǐng)求,其示意圖如下所示:
MTV
Django的MTV模式本質(zhì)上和MVC是一樣的,也是為了各組件間保持松耦合關(guān)系,只是定義上有些許不同。
Django的MTV分別代表:
除了以上三層之外,還需要一個(gè)URL分發(fā)器,它的作用是將一個(gè)個(gè)URL的頁(yè)面請(qǐng)求分發(fā)給不同的View處理,View再調(diào)用的Model和Template,MTV響應(yīng)模式如下所示:
一般是用戶通過(guò)瀏覽器向我們的服務(wù)器發(fā)起一個(gè)請(qǐng)求(request),這個(gè)請(qǐng)求會(huì)去訪問(wèn)視圖函數(shù),(如果不涉及到數(shù)據(jù)調(diào)用,那么這個(gè)時(shí)候視圖函數(shù)返回一個(gè)模板也就是一個(gè)網(wǎng)頁(yè)給用戶),視圖函數(shù)調(diào)用模型,模型去數(shù)據(jù)庫(kù)查找數(shù)據(jù),然后逐級(jí)返回,視圖函數(shù)把返回的數(shù)據(jù)填充到模板中,最后返回網(wǎng)頁(yè)給用戶。
?
1. 下載Django
pip3 install django
2.創(chuàng)建一個(gè)django project
django-admin.py startproject mysite
當(dāng)前目錄下會(huì)生成mysite的工程,目錄結(jié)構(gòu)如下:
manage.py ----- Django項(xiàng)目里面的工具,通過(guò)它可以調(diào)用django shell和數(shù)據(jù)庫(kù)等。
settings.py ---- 包含了項(xiàng)目的默認(rèn)設(shè)置,包括數(shù)據(jù)庫(kù)信息,調(diào)試標(biāo)志以及其他一些工作的變量。
urls.py ----- 負(fù)責(zé)把URL模式映射到應(yīng)用程序。
3.在mysite目錄下創(chuàng)建應(yīng)用
python manage.py startapp blog
4、啟動(dòng)django項(xiàng)目
python manage.py runserver 8080
這樣我們的django就啟動(dòng)起來(lái)了!當(dāng)我們?cè)L問(wèn):http://127.0.0.1:8080/時(shí)就可以看到相應(yīng)界面。
?
url控制器
from django.contrib import adminfrom django.urls import pathfrom app01 import viewsurlpatterns = [ path('admin/', admin.site.urls), path('index/',views.index),]
視圖
from django.shortcuts import render# Create your views here.def index(request): import datetime now=datetime.datetime.now() ctime=now.strftime("%Y-%m-%d %X") return render(request,"index.html",{"ctime":ctime})
模板
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><h4>當(dāng)前時(shí)間:{{ ctime }}</h4></body></html>
?
來(lái)源:http://www.icode9.com/content-4-138201.html聯(lián)系客服