浅谈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实现的数据结构与算法之基本搜索详解
Apr 22 Python
Python实现统计单词出现的个数
May 28 Python
Python实现字典的key和values的交换
Aug 04 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
Dec 08 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
python实现感知器算法详解
Dec 19 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
Python代码风格与编程习惯重要吗?
Jun 03 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 fread()使用技巧
2010/01/22 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
vue组件的写法汇总
2018/04/12 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
基于PyTorch中view的用法说明
2021/03/03 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
英文简历自荐信范文
2013/12/11 职场文书
学生自我鉴定模板
2013/12/30 职场文书
超市重阳节活动方案
2014/02/10 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
Python使用openpyxl模块处理Excel文件
2022/06/05 Python