首頁技術(shù)文章正文

Python培訓(xùn):認識視圖

更新時間:2022-07-27 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  視圖是Django框架的核心之一,它接收并處理URLconfs分發(fā)的HTTP請求,返回響應(yīng)。本章將對視圖相關(guān)的知識進行講解。

  視圖用于處理HTTP請求,并返回響應(yīng)。視圖的功能決定了它的基本結(jié)構(gòu),其結(jié)構(gòu)示意如下:

def view_name(request, *arg=None, **kwargs=None):
    代碼段
    return HttpResponse(response)

  使用以上結(jié)構(gòu)可定義一個基本視圖,顯然這個視圖本質(zhì)上是一個Python函數(shù)。結(jié)構(gòu)示意中的view_name表示視圖名稱;參數(shù)request是必選參數(shù),用于接收請求對象(HttpRequest類的實例);參數(shù)args和kwargs為可選參數(shù),用于接收URL中的額外參數(shù);返回值用于返回響應(yīng)對象(HttpResponse類或其子類的實例)。

  在應(yīng)用的views.py文件中定義一個返回當(dāng)前日期和時間的視圖curr_time(),具體代碼如下:

from django.http import HttpResponse
import detetime
def curr_time(request):
    now = datetime.datetime.now()
    response = "<html><body>It is %s.</body></html>" % now
    return HttpResponse(response)

  以上視圖將頁面的樣式以硬編碼形式寫在了代碼中,這會造成兩個問題:

 ?、偃粢薷囊晥D返回的頁面樣式,必須修改Python代碼。

 ?、谌繇撁鎯?nèi)容較多,視圖會非常臃腫。

  Django當(dāng)然考慮到了上述問題,根據(jù)MTV設(shè)計模式,Django提倡將頁面樣式放在模板文件之中,在視圖文件中使用上下文字典向模板傳遞數(shù)據(jù)。

分享到:
在線咨詢 我要報名
和我們在線交談!