浅谈django的render函数的参数问题
hello.html文件代码如下:
HelloWorld/templates/hello.html文件代码:{{hello}}
HelloWorld/HelloWorld/view.py文件代码:
#-*-coding:utf-8-*- #fromdjango.httpimportHttpResponse fromdjango.shortcutsimportrender defhello(request): context={} context['hello']='HelloWorld!' returnrender(request,'hello.html',context)
ontext字典中元素的键值"hello"对应了模板中的变量"{{hello}}"。
一旦你创建一个Template对象,你可以用context来传递数据给它。一个context是一系列变量和它们值的集合。
context在Django里表现为Context类,在django.template模块里。它的构造函数带有一个可选的参数:一个字典映射变量和它们的值。调用Template对象的render()方法并传递context来填充模板:
>>>fromdjango.templateimportContext,Template >>>t=Template('Mynameis{{name}}.') >>>c=Context({'name':'nowamagic'}) >>>t.render(c) u'Mynameisnowamagic.'
我们必须指出的一点是,t.render(c)返回的值是一个Unicode对象,不是普通的Python字符串。你可以通过字符串前的u来区分。在框架中,Django会一直使用Unicode对象而不是普通的字符串。如果你明白这样做给你带来了多大便利的话,尽可能地感激Django在幕后有条不紊地为你所做这这么多工作吧。如果不明白你从中获益了什么,别担心。你只需要知道Django对Unicode的支持,将让你的应用程序轻松地处理各式各样的字符集,而不仅仅是基本的A-Z英文字符。
fromdjango.shortcutsimportrender
help文档中描述如下:
render(request,template_name,context=None,content_type=None,status=None,using=None)
ReturnsaHttpResponsewhosecontentisfilledwiththeresultofcallingdjango.template.loader.render_to_string()withthepassedarguments.
此方法的作用---结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的HttpResponse对象。
通俗的讲就是把context的内容,加载进templates中定义的文件,并通过浏览器渲染呈现.
参数讲解:
request:是一个固定参数,没什么好讲的。
template_name:templates中定义的文件,要注意路径名.比如'templates\polls\index.html',参数就要写‘polls\index.html'
context:要传入文件中用于渲染呈现的数据,默认是字典格式
content_type:生成的文档要使用的MIME类型。默认为DEFAULT_CONTENT_TYPE设置的值。
status:http的响应代码,默认是200.
using:用于加载模板使用的模板引擎的名称。
以上这篇浅谈django的render函数的参数问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。