浅谈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 判断自定义对象类型
Mar 21 Python
Python实现类继承实例
Jul 04 Python
Python下使用Psyco模块优化运行速度
Apr 05 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Django1.7+python 2.78+pycharm配置mysql数据库
Oct 09 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Python3非对称加密算法RSA实例详解
Dec 06 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
使用Python进行中文繁简转换的实现代码
Oct 18 Python
Python Django view 两种return的实现方式
Mar 16 Python
通过实例了解python__slots__使用方法
Sep 14 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中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
js初始化验证实例详解
2016/11/26 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
详解Python中的变量及其命名和打印
2016/03/11 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
python list格式数据excel导出方法
2018/10/31 Python
Python实现密码薄文件读写操作
2019/12/16 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
文秘专业个人求职信
2013/12/22 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
项目负责人岗位职责
2015/02/15 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
导师鉴定意见
2015/06/05 职场文书
消夏晚会主持词
2015/06/30 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
mysql配置SSL证书登录的实现
2021/09/04 MySQL