浅谈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中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
关于Python数据结构中字典的心得
Dec 04 Python
django 删除数据库表后重新同步的方法
May 27 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
PyQt5响应回车事件的方法
Jun 25 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python使用Excel将数据写入多个sheet
May 16 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
ThinkPHP的URL重写问题
2014/06/22 PHP
php实现的双向队列类实例
2014/09/24 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
firefo xml 读写实现js代码
2009/06/11 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
vue二级路由设置方法
2018/02/09 Javascript
vue实现文件上传功能
2018/08/13 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
python用Configobj模块读取配置文件
2020/09/26 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
人事主管岗位职责范本
2013/12/04 职场文书
八年级语文教学反思
2014/02/11 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
文案策划专业自荐信
2014/07/07 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js