浅谈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从网络读取图片并直接进行处理的方法
May 22 Python
Python 内置函数complex详解
Oct 23 Python
Python脚本实现Web漏洞扫描工具
Oct 25 Python
pytorch 数据集图片显示方法
Jul 26 Python
python处理multipart/form-data的请求方法
Dec 26 Python
python实现Virginia无密钥解密
Mar 20 Python
Python命令行click参数用法解析
Dec 19 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
python 数据分析实现长宽格式的转换
May 18 Python
python中有帮助函数吗
Jun 19 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 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实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP可变函数学习小结
2015/11/29 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
python日志模块logbook使用方法
2019/09/19 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
中国宠物用品商城:E宠商城
2016/08/27 全球购物
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
几个数据库方面的面试题
2016/07/01 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
临床医师专业个人自我评价范文
2013/11/07 职场文书
三方协议书范本
2014/04/22 职场文书
绿色环保演讲稿
2014/05/10 职场文书
趣味运动会开幕词
2015/01/28 职场文书
民事起诉书范本
2015/05/19 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android