淺談django的render函數(shù)的參數(shù)問(wèn)題
hello.html 文件代碼如下:
HelloWorld/templates/hello.html 文件代碼:
<h1>{{ hello }}</h1>
HelloWorld/HelloWorld/view.py 文件代碼:
# -*- coding: utf-8 -*-
#from django.http import HttpResponse
from django.shortcuts import render
def hello(request):
context = {}
context['hello'] = 'Hello World!'
return render(request, 'hello.html', context)
ontext 字典中元素的鍵值 "hello" 對(duì)應(yīng)了模板中的變量 "{{ hello }}"。
一旦你創(chuàng)建一個(gè) Template 對(duì)象,你可以用 context 來(lái)傳遞數(shù)據(jù)給它。 一個(gè)context 是一系列變量和它們值的集合。
context 在 Django 里表現(xiàn)為 Context 類(lèi),在 django.template 模塊里。它的構(gòu)造函數(shù)帶有一個(gè)可選的參數(shù): 一個(gè)字典映射變量和它們的值。 調(diào)用 Template 對(duì)象 的 render() 方法并傳遞 context 來(lái)填充模板:
>>> from django.template import Context, Template
>>> t = Template('My name is {{ name }}.')
>>> c = Context({'name': 'nowamagic'})
>>> t.render(c)
u'My name is nowamagic.'
我們必須指出的一點(diǎn)是,t.render(c) 返回的值是一個(gè) Unicode 對(duì)象,不是普通的 Python 字符串。 你可以通過(guò)字符串前的 u 來(lái)區(qū)分。 在框架中,Django 會(huì)一直使用 Unicode 對(duì)象而不是普通的字符串。 如果你明白這樣做給你帶來(lái)了多大便利的話,盡可能地感激 Django 在幕后有條不紊地為你所做這這么多工作吧。 如果不明白你從中獲益了什么,別擔(dān)心。你只需要知道 Django 對(duì) Unicode 的支持,將讓你的應(yīng)用程序輕松地處理各式各樣的字符集,而不僅僅是基本的A-Z英文字符。
from django.shortcuts import render
help文檔中描述如下:
render(request, template_name, context=None, content_type=None, status=None, using=None)
Returns a HttpResponse whose content is filled with the result of calling django.template.loader.render_to_string() with the passed arguments.
此方法的作用---結(jié)合一個(gè)給定的模板和一個(gè)給定的上下文字典,并返回一個(gè)渲染后的 HttpResponse 對(duì)象。
通俗的講就是把context的內(nèi)容, 加載進(jìn)templates中定義的文件, 并通過(guò)瀏覽器渲染呈現(xiàn).
參數(shù)講解:
request: 是一個(gè)固定參數(shù), 沒(méi)什么好講的。
template_name: templates 中定義的文件, 要注意路徑名. 比如'templates\polls\index.html', 參數(shù)就要寫(xiě)‘polls\index.html'
context: 要傳入文件中用于渲染呈現(xiàn)的數(shù)據(jù), 默認(rèn)是字典格式
content_type: 生成的文檔要使用的MIME 類(lèi)型。默認(rèn)為DEFAULT_CONTENT_TYPE 設(shè)置的值。
status: http的響應(yīng)代碼,默認(rèn)是200.
using: 用于加載模板使用的模板引擎的名稱。
以上這篇淺談django的render函數(shù)的參數(shù)問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Django ORM 自定義 char 類(lèi)型字段解析
- Django ORM 常用字段與不常用字段匯總
- django中ORM模型常用的字段的使用方法
- Django中URL的參數(shù)傳遞的實(shí)現(xiàn)
- django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼
- django中的HTML控件及參數(shù)傳遞方法
- Django URL傳遞參數(shù)的方法總結(jié)
- Django中的CACHE_BACKEND參數(shù)和站點(diǎn)級(jí)Cache設(shè)置
- 簡(jiǎn)單了解Django ORM常用字段類(lèi)型及參數(shù)配置
相關(guān)文章
簡(jiǎn)述Python2與Python3的不同點(diǎn)
在Python2和Python3中都提供print()方法來(lái)打印信息,但兩個(gè)版本間的print稍微有差異。下面通過(guò)本文給大家介紹Python2與Python3的不同點(diǎn),需要的朋友參考下2018-01-01
TensorFlow內(nèi)存管理bfc算法實(shí)例
今天小編就為大家分享一篇TensorFlow內(nèi)存管理bfc算法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
pytorch?tensor按廣播賦值scatter_函數(shù)的用法
這篇文章主要介紹了pytorch?tensor按廣播賦值scatter_函數(shù)的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
python數(shù)據(jù)預(yù)處理 :數(shù)據(jù)共線性處理詳解
今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理 :數(shù)據(jù)共線性處理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
python實(shí)現(xiàn)地牢迷宮生成的完整步驟
這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)地牢迷宮生成的相關(guān)資料,文中通過(guò)示例代碼將實(shí)現(xiàn)的過(guò)程一步步介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-09-09
一文解決django 2.2與mysql兼容性問(wèn)題
Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫(xiě)成。采用了MTV的框架模式,即模型M,視圖V和模版T。這篇文章主要介紹了解決django 2.2與mysql兼容性問(wèn)題,需要的朋友可以參考下2020-07-07

