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 字符串格式化输出(format/printf)
Jul 21 Python
Python深入06——python的内存管理详解
Dec 07 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
Python模块文件结构代码详解
Feb 03 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
Python实现读取字符串按列分配后按行输出示例
Apr 17 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
python程序需要编译吗
Jun 19 Python
python实现猜拳游戏项目
Nov 30 Python
python字典按照value排序方法
Dec 28 Python
Django实现翻页的示例代码
May 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
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
取得父标签
2006/11/14 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
python执行子进程实现进程间通信的方法
2015/06/02 Python
python实现弹窗祝福效果
2019/04/07 Python
python3.5安装python3-tk详解
2019/04/26 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
物业经理自我鉴定
2014/03/03 职场文书
中等生评语大全
2014/05/04 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
个人优缺点总结
2015/02/28 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
简单的辞职信模板
2015/05/12 职场文书
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技