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实现QQ游戏大家来找茬辅助工具
Sep 14 Python
在Python下利用OpenCV来旋转图像的教程
Apr 16 Python
python中PIL安装简单教程
Apr 21 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 Python
详解Python 数据库的Connection、Cursor两大对象
Jun 25 Python
python实现录音小程序
Oct 26 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
python装饰器常见使用方法分析
Jun 26 Python
Python内存映射文件读写方式
Apr 24 Python
Python更换pip源方法过程解析
May 19 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 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
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
跟老齐学Python之集合(set)
2014/09/24 Python
Python函数和模块的使用总结
2019/05/20 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
英国计算机商店:Technextday
2019/12/28 全球购物
实习期自我鉴定
2013/10/11 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
IT工程师岗位职责
2014/07/04 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
世界气象日活动总结
2015/02/27 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python