浅谈django的render函数的参数问题


Posted in Python onOctober 16, 2018

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" 对应了模板中的变量 "{{ hello }}"。

一旦你创建一个 Template 对象,你可以用 context 来传递数据给它。 一个context 是一系列变量和它们值的集合。

context 在 Django 里表现为 Context 类,在 django.template 模块里。它的构造函数带有一个可选的参数: 一个字典映射变量和它们的值。 调用 Template 对象 的 render() 方法并传递 context 来填充模板:

>>> from django.template import Context, Template

>>> t = Template('My name is {{ name }}.')

>>> c = Context({'name': 'nowamagic'})

>>> t.render(c)

u'My name is nowamagic.'

我们必须指出的一点是,t.render(c) 返回的值是一个 Unicode 对象,不是普通的 Python 字符串。 你可以通过字符串前的 u 来区分。 在框架中,Django 会一直使用 Unicode 对象而不是普通的字符串。 如果你明白这样做给你带来了多大便利的话,尽可能地感激 Django 在幕后有条不紊地为你所做这这么多工作吧。 如果不明白你从中获益了什么,别担心。你只需要知道 Django 对 Unicode 的支持,将让你的应用程序轻松地处理各式各样的字符集,而不仅仅是基本的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.

此方法的作用---结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 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函数的参数问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python with的用法
Aug 22 Python
在Python中操作字典之clear()方法的使用
May 21 Python
Python正则表达式使用范例分享
Dec 04 Python
Python 列表理解及使用方法
Oct 27 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 Python
python3使用smtplib实现发送邮件功能
May 22 Python
python集合是否可变总结
Jun 20 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
Django认证系统user对象实现过程解析
Mar 02 Python
Python多线程 Queue 模块常见用法
Jul 04 Python
django之跨表查询及添加记录的示例代码
Oct 16 #Python
python看某个模块的版本方法
Oct 16 #Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 #Python
详解Django的model查询操作与查询性能优化
Oct 16 #Python
python查看模块,对象的函数方法
Oct 16 #Python
Python中asyncio与aiohttp入门教程
Oct 16 #Python
python查看模块安装位置的方法
Oct 16 #Python
You might like
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
中学教师岗位职责
2013/11/26 职场文书
找工作求职信
2014/07/07 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
收银员岗位职责范本
2015/04/07 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
六年级作文之预言作文
2019/10/25 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js