欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Django中 render() 函數(shù)的使用方法

 更新時間:2021年04月22日 08:28:53   作者:Erudite  
這篇文章主要介紹了Django中 render() 函數(shù)的使用方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

render() 函數(shù)

在講 render() 函數(shù)之前,我們在 Django 項(xiàng)目 index 文件夾的 urls.py 和 views.py 中編寫如下功能代碼:(不難,望讀者細(xì)心閱之)

# index的 urls.py
from django.urls import path
form . import views

urlpatterns = [
    # 定義首頁的路由
    path(' ', views.index, name='index'),
]
# index的views.py
from django.http import HttpResponse
def index(request):
    html = '<h1> Hello World </h1>'
    return HttpResponse(html, status=200)

視圖函數(shù) index 使用響應(yīng)類 HttpResponse 實(shí)現(xiàn)響應(yīng)過程。從 HttpResponse 的參數(shù)可知,第一個參數(shù)是響應(yīng)內(nèi)容,一般是網(wǎng)頁內(nèi)容或 JSON 數(shù)據(jù),網(wǎng)頁內(nèi)容是以HTML語言為主的,JSON數(shù)據(jù)用于生成API接口數(shù)據(jù)。第二個參數(shù)用于設(shè)置HTTP狀態(tài)碼,它支持HTTP所有的狀態(tài)碼。

從源碼角度分析,打開響應(yīng)類 HttpResponse 的源碼文件,發(fā)現(xiàn) Django內(nèi)置的響應(yīng)類(本人在上篇文章中已講過)都是在 HttpResponse 的基礎(chǔ)上實(shí)現(xiàn)的,只不過它們的HTTP狀態(tài)碼有所不同,如圖下所示。

從 HttpResponse 的使用過程可知,如果要生成網(wǎng)頁內(nèi)容,就需要將 HTML 語言以 字符串的形式表示,如果網(wǎng)頁內(nèi)容過大,就會增加視圖函數(shù)的代碼量,同時也沒有體現(xiàn)模板的作用,因此Django在此基礎(chǔ)上進(jìn)行了封裝處理,定義了函數(shù) render 和 redirect。
render()語法如下:

render(request, template_name, context=None, content_type=None, status=None, using=None)

render 的參數(shù) request 和 template name 是必需參數(shù),其余的參數(shù)是可選參數(shù)。各個參數(shù)說明如下。

  • request:瀏覽器向服務(wù)器發(fā)送的請求對象,包含用戶信息、請求內(nèi)容和請求方式等。
  • template_name:設(shè)重模板文件名,用于生成網(wǎng)頁內(nèi)容。
  • context:對模板上下文(模板變量)賦值,以字典格式表示,默認(rèn)情況下是一個空字典。
  • content_type:響應(yīng)內(nèi)容的數(shù)據(jù)格式,一般情況下使用默認(rèn)值即可。
  • status:HTTP狀態(tài)碼,默認(rèn)為200。
  • using:設(shè)置模板引擎,用于解析模板文件,生成網(wǎng)頁內(nèi)容。

為了更好地說明 render 的使用方法,我們通過簡單的例子來加以說明。在Django項(xiàng)目的index文件中的 views.py 和 templates 的 index.html 中編寫以下代碼:

# index的 views.py
from django.shortcuts import render
def index(request):
    value = {'title': 'Hello Django'}
    return render(request, 'index.html', context=value)
# templates 的 index.html
<!DOCTYPE html>
<html>
  <body>
    <h3> {{ title }} </h3>
  </body>
</html>

視圖函數(shù) index 定義的變量 value 作為 render 的參數(shù) context,而模板 index.html 里通過使用模板上下文(模板變量){{ title }} 來獲取變量 value 的數(shù)據(jù),上下文的命名必須與變量 value 的數(shù)據(jù)命名(字典的key)相同,這樣 Django 內(nèi)置的模板引擎才能將參數(shù)context(變量value)的數(shù)據(jù)與模板上下文進(jìn)行配對,從而將參數(shù) context 的數(shù)據(jù)轉(zhuǎn)換成網(wǎng)頁內(nèi)容。運(yùn)行Django項(xiàng)目,在瀏覽器上訪問127.0.0.1:8000即可看到網(wǎng)頁信息,如圖下所示。

希望以上內(nèi)容能夠幫助到各位!

到此這篇關(guān)于Django中 render() 函數(shù)的使用方法的文章就介紹到這了,更多相關(guān)Django中 render() 函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django1.11自帶分頁器paginator的使用方法

    Django1.11自帶分頁器paginator的使用方法

    這篇文章主要為大家詳細(xì)介紹了Django1.11自帶分頁器Django的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • tensorflow 加載部分變量的實(shí)例講解

    tensorflow 加載部分變量的實(shí)例講解

    今天小編就為大家分享一篇tensorflow 加載部分變量的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python迭代用法實(shí)例教程

    Python迭代用法實(shí)例教程

    這篇文章主要介紹了Python迭代用法,包括了迭代的定義及具體用法,是一個非常實(shí)用的技巧,需要的朋友可以參考下
    2014-09-09
  • python如何在字典中插入或增加一個字典

    python如何在字典中插入或增加一個字典

    這篇文章主要介紹了python如何在字典中插入或增加一個字典問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • python 讀取目錄下csv文件并繪制曲線v111的方法

    python 讀取目錄下csv文件并繪制曲線v111的方法

    今天小編就為大家分享一篇python 讀取目錄下csv文件并繪制曲線v111的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python with語句的原理與用法詳解

    python with語句的原理與用法詳解

    這篇文章主要介紹了python with語句的原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了python with語句基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • python 常用的異步框架匯總整理

    python 常用的異步框架匯總整理

    自從python3推出關(guān)于異步編程的新語法之后,關(guān)于異步web框架也是如雨后春筍一般爆發(fā),關(guān)于 異步框架的性能也日漸激烈。今天就整理關(guān)于 python 的異步框架。
    2021-06-06
  • pip安裝tensorflow的坑的解決

    pip安裝tensorflow的坑的解決

    這篇文章主要介紹了pip安裝tensorflow的坑的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Django框架ORM操作數(shù)據(jù)庫不生效問題示例解決方法

    Django框架ORM操作數(shù)據(jù)庫不生效問題示例解決方法

    本文詳細(xì)描述使用Django 的ORM框架操作PostgreSQL數(shù)據(jù)庫刪除不生效問題的定位過程及解決方案,并總結(jié)使用ORM框架操作數(shù)據(jù)庫不生效的問題的通用定位方法,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)

    python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)

    這篇文章主要介紹了python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論