1. 程式人生 > 其它 >2022年區塊鏈領域的四大看點| 介面預言家

2022年區塊鏈領域的四大看點| 介面預言家

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和其它

'''