好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Django視圖函數的具體使用

Django視圖函數的具體使用

熱門標簽:女王谷地圖標注 長春人工智能電銷機器人官網 西藏快速地圖標注地點 廈門crm外呼系統如何 百應ai電銷機器人鄭州 ai地圖標注 地圖標注推廣單頁 n400電話申請多少錢 如何在地圖標注文字

視圖是 MTV 設計模式中的 V 層,它是實現業務邏輯的關鍵層,可以用來連接 M 層與 T 層,起著紐帶般的作用,在《Django MTV和MVC的區別》中也做了相應的介紹,所以它的重要性可想而知。

1. 第一個視圖函數

在 Django 中,視圖函數是一個 Python 函數或者類,開發者主要通過編寫視圖函數來實現業務邏輯。視圖函數首先接受來自瀏覽器或者客戶端的請求,并最終返回響應,視圖函數返回的響應可以是 HTML 文件,也可以是 HTTP 協議中的 303 重定向。接下來編寫一個簡單的視圖函數:

from django.http import HttpResponse
def Hello_my_django(request):
 return HttpResponse('html>body>Hello my Django/body>/html>')

下面針對以上 3 行代碼做解析:

1)HttpResponse視圖響應類型
從 django.http 模塊中導入 HttpResponse,從它簡單的名字我們可以得知,它是一種視圖的響應類型。

在HttpResponse對象上擴展的常用方法:

  • - 頁面渲染:render(推薦),render_to_response,
  • - 頁面跳轉:redirect
  • - locals: 可以直接將對應視圖函數中所有的變量傳給模板

2)視圖函數參數request
我們定義了一個名為“Hello_my_django”的函數,Django 規定了,視圖函數至少有一個參數,第一個參數必須是 request,request 是 HttpRequest 請求類型的對象,它攜帶了瀏覽器的請求信息,所以視圖函數的第一個參數必須為 request。

當請求一個頁面時,Django 創建一個 HttpRequest對象包含原數據的請求。然后 Django 加載適當的視圖,通過 HttpRequest作為視圖函數的第一個參數。每個視圖負責返回一個HttpResponse目標。

path:  請求頁面的全路徑,不包括域名
method:  請求中使用的HTTP方法的字符串表示。全大寫表示。例如
     if req.method=="GET":
        do_something()
     elseif req.method=="POST":
        do_something_else()
GET:   包含所有HTTP GET參數的類字典對象
POST:  包含所有HTTP POST參數的類字典對象
    服務器收到空的POST請求的情況也是可能發生的,也就是說,表單form通過
    HTTP POST方法提交請求,但是表單中可能沒有數據,因此不能使用
    if req.POST來判斷是否使用了HTTP POST 方法;應該使用 if req.method=="POST"
COOKIES:  包含所有cookies的標準Python字典對象;keys和values都是字符串。
FILES:  包含所有上傳文件的類字典對象;FILES中的每一個Key都是input type="file" name="" />標簽中 
   name屬性的值,FILES中的每一個value同時也是一個標準的python字典對象,包含下面三個Keys:
   filename:  上傳文件名,用字符串表示
   content_type: 上傳文件的Content Type
   content:  上傳文件的原始內容
user:  是一個django.contrib.auth.models.User對象,代表當前登陸的用戶。如果訪問用戶當前
    沒有登陸,user將被初始化為django.contrib.auth.models.AnonymousUser的實例。你
    可以通過user的is_authenticated()方法來辨別用戶是否登陸:
    if req.user.is_authenticated();只有激活Django中的AuthenticationMiddleware
    時該屬性才可用
session: 唯一可讀寫的屬性,代表當前會話的字典對象;自己有激活Django中的session支持時該屬性才可用。
META:  一個標準的Python字典包含所有可用的HTTP頭。可用標題取決于客戶端和服務器,但這里是一些例子:
   CONTENT_LENGTH  – 請求體的長度(一個字符串)。
   CONTENT_TYPE   – 請求體的類型。
   HTTP_ACCEPT   - 為響應–可以接受的內容類型。
   HTTP_ACCEPT_ENCODING – 接受編碼的響應
   HTTP_ACCEPT_LANGUAGE – 接受語言的反應
   HTTP_HOST   – 客戶端發送的HTTP主機頭。
   HTTP_REFERER   – 參考頁面
   HTTP_USER_AGENT  – 客戶端的用戶代理字符串。
   QUERY_STRING   – 查詢字符串,作為一個單一的(分析的)字符串。
   REMOTE_ADDR   – 客戶端的IP地址
   REMOTE_HOST   – 客戶端的主機名
   REMOTE_USER   – 用戶通過Web服務器的身份驗證。
   REQUEST_METHOD  – 字符串,如"GET"或"POST"
   SERVER_NAME   – 服務器的主機名
   SERVER_PORT   – 服務器的端口(一個字符串)。

3)return視圖響應
視圖函數要返回響應內容,這里的響應內容是我們用 HTML 標簽編寫的,把它作為 HttpResponse 的對象返回給瀏覽器。

2. 視圖函數執行過程

上面視圖函數的代碼雖然區區幾行,但是已經充分體現了視圖層的實現過程。 Django 收到請求以后,首先創建一個帶有請求信息的 HttpRequset 對象,將 HttpRequest 的對象 request 作為第一個參數傳遞給視圖函數,視圖接收參數后繼續向下執行,然后選擇加載對應的視圖,最后返回 HttpResponse 對象給瀏覽器。

通過本節的介紹,我們應該理解 View 視圖函數的作用,以及視圖函數的定義過程。

到此這篇關于Django視圖函數的具體使用的文章就介紹到這了,更多相關Django視圖函數內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django框架視圖函數設計示例
  • Django基礎三之視圖函數的使用方法
  • 在Python的Django框架中包裝視圖函數
  • Django中URL視圖函數的一些高級概念介紹
  • Django中傳遞參數到URLconf的視圖函數中的方法

標簽:拉薩 內江 興安盟 黔東 亳州 廊坊 綿陽 渭南

巨人網絡通訊聲明:本文標題《Django視圖函數的具體使用》,本文關鍵詞  Django,視圖,函數,的,具體,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Django視圖函數的具體使用》相關的同類信息!
  • 本頁收集關于Django視圖函數的具體使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 中文字幕自拍| 自拍 亚洲 综合 另类小说| 欧美色图日韩色图| 亚洲欧美成人AV在线观看| 98色花堂永久地址入口| 国产激情视频网站| 告诉我在线观看完整版| 免费看成人A片无码的直播APP | sunwall95未删减版视频| 91会所女技师特殊服务在线播放| 色福利app引导网站| 激情文学88| 久久精品久久久久久久精品门事件| 成人亚洲精品| 国产精品视频一区二区三区九县| 接电话顶的她说不出话| 美国fx性欧美xxxxhd| 天天操人人爱| xxxxxxx泡妞中国| 一级a免一级a做免费线看内裤英文 | 巨大黑人极品video| 国内精品久久久久久久久久影视| 国产精品女人呻吟| 迷欲绑缚3d采花贼漫画免费看| 欧美aaaaaa| 综合色婷婷一区二区亚洲欧美国产| 男男GaYGAYS?18飞机| 宝贝好紧我太爽了再快点| 香港A片毛片免费观看| 天海翼精品久久中文字幕| 中文字幕人成人乱码亚洲影 | 大炕上翁熄粗大交换刘雪| 欧美精品亚洲精品日韩1818| 一级人与动毛片免费播放| 手淫专用图| japanesexxxx日本护士| 亚洲1069gay男男野战| 那两瓣一半大一半小怎么恢复| 欧美黑人一级做a爱性色| 男孩子网恋是要翻车的| 2020国产精品视频|