在web開發領域裏著名的MVC模式,所謂MVC就是把web應用分爲模型(M)、控制器(C)、視圖(V)三層,達到了解耦的效果。html
一次完整的請求如圖:python
可是django用的是MTV模式,本質是同樣的,也是爲了各組件之間保持鬆耦合關係,只是定義上有些不一樣。web
除此以外、還須要一個URL分發器,將用戶發送的每個請求逐一匹配、再分發給不一樣的View處理。shell
整個流程以下圖:數據庫
通常是用戶經過瀏覽器向咱們的服務器發起一個請求(request),這個請求若是匹配到了url,就會去執行url對應的函數,若是不涉及數據調用。那這個時候函數返回一個模版(也就是網頁)給用戶。若是須要調取數據,函數調用模型,模型去數據庫查找數據並返回查詢結果。視圖函數把返回的數據填充到模版文件中渲染,最後返回給網頁給用戶。django
一、下載瀏覽器
pip install django
二、建立django項目服務器
django-admin.py startproject mysite
兩條命令執行完畢後、會生成目錄結構以下app
manage.py ----- Django項目裏面的工具,經過它能夠調用django shell和數據庫等。
settings.py ---- 包含了項目的默認設置,包括數據庫信息,調試標誌以及其餘一些工做的變量。
urls.py ----- 負責把URL模式映射到應用程序。 函數
三、在項目目錄下建立應用
python manage.py startapp blog
命令執行後、項目會多出一個應用文件夾、目錄結構以下
四、啓動Django項目
python manage.py runserver 0.0.0.0:8080 (IP + PORT 不寫默認127.0.0.1:8000)
項目已啓動、快去瀏覽器訪問:http://127.0.0.0.1:8080
由於是django2.0版本,外觀美觀了許多!
新建一個項目
一、urls.py 加一條url
1 from django.contrib import admin 2 from django.urls import path 3 from app01 import views # 導入app01項目中的視圖函數 4 5 urlpatterns = [ 6 path('admin/', admin.site.urls), 7 path(r'timer/',views.timer), # 127.0.0.1:8001/timer 會執行 views.py 文件中的timer()函數 8 ]
二、views.py 中定義一個timer()函數
1 from django.shortcuts import render 2 import datetime # 導入日期時間模塊 3 4 5 # Create your views here. 6 def timer(request): 7 t = datetime.datetime.now().strftime('%Y-%m-%d %X') # 當前時間對象 8 return render(request, 'timer.html', {"time": t}) # render() django的三個響應對象之一,渲染頁面用的,第一個參數是固定的,第二個跟要顯示的html文件,第三個跟要返回的數據。在html文件裏渲染時間對象並展現頁面給用戶看
三、項目文件下有個template文件、存放html文件的。timer.html
1 <!DOCTYPE html> 2 <html lang="zh_CN"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>動態獲取當前時間</title> 6 </head> 7 <body> 8 9 <!--固定語法。視圖函數傳來一個字典{"time":t} 這裏雙括號獲取--> 10 <h4>當前時間:{{ time }}</h4> 11 12 </body> 13 </html>
四、執行
五、瀏覽器打開看看吧!