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实现计算最小编辑距离
Mar 17 Python
Python通过future处理并发问题
Oct 17 Python
Python自定义线程类简单示例
Mar 23 Python
如何利用Boost.Python实现Python C/C++混合编程详解
Nov 08 Python
Python定时任务APScheduler的实例实例详解
Jul 22 Python
python lambda函数及三个常用的高阶函数
Feb 05 Python
python使用turtle库绘制奥运五环
Feb 24 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
python 基于opencv实现图像增强
Dec 23 Python
pytorch训练神经网络爆内存的解决方案
May 22 Python
python基础之类属性和实例属性
Oct 24 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解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
详解Python 中的容器 collections
2020/08/17 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
岗位竞聘书范文
2014/03/31 职场文书
低碳环保口号
2014/06/12 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
高二英语教学反思
2016/03/03 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS