Django框架中render_to_response()函数的使用方法


Posted in Python onJuly 16, 2015

通常的情况是,我们一般会载入一个模板文件,然后用 Context渲染它,最后返回这个处理好的HttpResponse对象给用户。 我们已经优化了方案,使用 get_template() 方法代替繁杂的用代码来处理模板及其路径的工作。 但这仍然需要一定量的时间来敲出这些简化的代码。 这是一个普遍存在的重复苦力劳动。Django为此提供了一个捷径,让你一次性地载入某个模板文件,渲染它,然后将此作为 HttpResponse返回。

该捷径就是位于 django.shortcuts 模块中名为 render_to_response() 的函数。大多数情况下,你会使用``\ ``````对象,除非你的老板以代码行数来衡量你的工作。

System Message: WARNING/2 (<string>, line 1736); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 1736); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 1736); backlink

Inline literal start-string without end-string.

下面就是使用 render_to_response() 重新编写过的 current_datetime 范例。

from django.shortcuts import render_to_response
import datetime

def current_datetime(request):
 now = datetime.datetime.now()
 return render_to_response('current_datetime.html', {'current_date': now})

大变样了! 让我们逐句看看代码发生的变化:

    我们不再需要导入 get_template 、 Template 、 Context 和 HttpResponse 。相反,我们导入 django.shortcuts.render_to_response 。 import datetime 继续保留.

    在 current_datetime 函数中,我们仍然进行 now 计算,但模板加载、上下文创建、模板解析和 HttpResponse 创建工作均在对 render_to_response() 的调用中完成了。 由于 render_to_response() 返回 HttpResponse 对象,因此我们仅需在视图中 return 该值。

render_to_response() 的第一个参数必须是要使用的模板名称。 如果要给定第二个参数,那么该参数必须是为该模板创建 Context 时所使用的字典。 如果不提供第二个参数, render_to_response() 使用一个空字典。

Python 相关文章推荐
python基础教程之类class定义使用方法
Feb 20 Python
Python设置默认编码为utf8的方法
Jul 01 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python中字符串的修改及传参详解
Nov 30 Python
python使用turtle库绘制树
Jun 25 Python
python和opencv实现抠图
Jul 18 Python
Python实现简单的用户交互方法详解
Sep 25 Python
python 字符串常用函数详解
Sep 11 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
Python二元算术运算常用方法解析
Sep 15 Python
Django 实现图片上传和下载功能
Dec 31 Python
python实现MD5进行文件去重的示例代码
Jul 09 Python
在Python的Django框架中加载模版的方法
Jul 16 #Python
Django框架下在视图中使用模版的方法
Jul 16 #Python
详解Django中的过滤器
Jul 16 #Python
在Python的Django框架中为代码添加注释的方法
Jul 16 #Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 #Python
Python实现数通设备端口使用情况监控实例
Jul 15 #Python
Python实现快速多线程ping的方法
Jul 15 #Python
You might like
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
&amp;lt;script defer&amp;gt; defer 是什么意思
2009/05/10 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
旷工辞退通知书
2015/04/17 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python