浅谈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实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
python实现基本进制转换的方法
Jul 11 Python
spyder常用快捷键(分享)
Jul 19 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
Jun 17 Python
Django 路由控制的实现
Jul 17 Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
pytorch 输出中间层特征的实例
Aug 17 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 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返回当前日期或者指定日期是周几
2015/05/21 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
javascript 播放器 控制
2007/01/22 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
Python定时执行之Timer用法示例
2015/05/27 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
Java的五个基础面试题
2016/02/26 面试题
军训教官感言
2014/03/02 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书