浅谈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之有容乃大的list(1)
Sep 14 Python
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
Python表示矩阵的方法分析
May 26 Python
python针对excel的操作技巧
Mar 13 Python
Django实现跨域请求过程详解
Jul 25 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
基于python中__add__函数的用法
Nov 25 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
利用python实现逐步回归
Feb 24 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
python软件都是免费的吗
Jun 18 Python
聊聊python中的循环遍历
Sep 07 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获取MSN好友列表类的实现代码
2013/06/23 PHP
nginx下安装php7+php5
2016/07/31 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
js document.write()使用介绍
2014/02/21 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
微信小程序实现跑马灯效果
2020/10/21 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python lambda函数基本用法实例分析
2018/03/16 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
Python3 修改默认环境的方法
2019/02/16 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
基于python实现操作redis及消息队列
2020/08/27 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
Joules美国官网:出色的英国风格
2017/10/30 全球购物
如何进行Linux分区优化
2016/09/13 面试题
学期研究性学习个人的自我评价
2014/01/09 职场文书
优秀食品类广告词
2014/03/19 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
学雷锋活动倡议书
2014/08/30 职场文书
反四风对照检查材料
2014/09/22 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript