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中存取文件的4种不同操作
Jul 02 Python
Flask-Mail用法实例分析
Jul 21 Python
python实现点对点聊天程序
Jul 28 Python
对python3 sort sorted 函数的应用详解
Jun 27 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
一文读懂Python 枚举
Aug 25 Python
如何使用python写截屏小工具
Sep 29 Python
python实现b站直播自动发送弹幕功能
Feb 20 Python
Python中else的三种使用场景
Jun 16 Python
Python中的嵌套循环详情
Mar 23 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中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php限制文件下载速度的代码
2015/10/20 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
javascript 闭包详解
2015/07/02 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
Javascript复制实例详解
2016/01/28 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
vue debug 二种方法
2018/09/16 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
简单了解Python write writelines区别
2020/02/27 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
2014年保洁员工作总结
2014/11/19 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
合作与交流自我评价
2015/03/09 职场文书
摩登时代观后感
2015/06/03 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书