浅谈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的迭代器和生成器使用实例
Jan 14 Python
Python函数参数类型*、**的区别
Apr 11 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Python简单实现Base64编码和解码的方法
Apr 29 Python
浅谈Pandas 排序之后索引的问题
Jun 07 Python
Python使用Pickle模块进行数据保存和读取的讲解
Apr 09 Python
python的内存管理和垃圾回收机制详解
May 18 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
利用python实现冒泡排序算法实例代码
Dec 01 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
python数据预处理 :数据抽样解析
Feb 24 Python
win10从零安装配置pytorch全过程图文详解
May 08 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字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
深入PHP curl参数的详解
2013/06/17 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
CSS常用网站布局实例
2008/04/03 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
《桂林山水》教学反思
2014/02/08 职场文书
年级组长自我鉴定
2014/02/22 职场文书
保送生自荐信
2015/03/06 职场文书
出国留学英文自荐信
2015/03/25 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
Python保存并浏览用户的历史记录
2022/04/29 Python