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合并字符串的3种方法
May 21 Python
用Python写冒泡排序代码
Apr 12 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
python DataFrame转dict字典过程详解
Dec 26 Python
Python字符串中删除特定字符的方法
Jan 15 Python
python代码xml转txt实例
Mar 10 Python
Python selenium页面加载慢超时的解决方案
Mar 18 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
Apr 08 Python
python matplotlib绘制三维图的示例
Sep 24 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
基于python制作简易版学生信息管理系统
Apr 20 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中cookie的作用域
2008/03/27 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
Python 如何在字符串中插入变量
2020/08/01 Python
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
超市中秋节活动方案
2014/02/12 职场文书
村党支部换届选举方案
2014/05/02 职场文书
护理专业求职信
2014/06/15 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
异地年检委托书范本
2014/09/24 职场文书
领导干部考核评语
2015/01/04 职场文书
党小组鉴定意见
2015/06/02 职场文书