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获取指定目录下所有文件名列表的方法
May 20 Python
Python输出汉字字库及将文字转换为图片的方法
Jun 04 Python
Python正规则表达式学习指南
Aug 02 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
详解flask入门模板引擎
Jul 18 Python
Python Pillow Image Invert
Jan 22 Python
Python实现使用request模块下载图片demo示例
May 24 Python
使用python批量修改文件名的方法(视频合并时)
Mar 24 Python
sklearn+python:线性回归案例
Feb 24 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
Python轻量级web框架bottle使用方法解析
Jun 13 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多态的实现详解
2013/06/09 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
基于python实现查询ip地址来源
2020/06/02 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
海外淘书首选:AbeBooks
2017/07/31 全球购物
ajax是什么及其工作原理
2012/02/08 面试题
大学生职业生涯规划书模板
2014/01/03 职场文书
保护环境的建议书
2014/03/12 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
三八妇女节寄语
2015/02/27 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript