由于加载模板、填充 context 、将经解析的模板结果返回为 HttpResponse 对象这一系列操作实在太常用了,Django 提供了一条仅用一行代码就完成所有这些工作的捷径。该捷径就是位于 django.shortcuts 模块中名为 render_to_response() 的函数。大多数时候,你将使
用 render_to_response() ,而不是手动加载模板、创建 Context 和 HttpResponse 对象。
下面就是使用 render_to_response() 重新编写过的 current_datetime 范例。
from django.shortcuts import render_to_response
from datetime import datetime
def current_datetime(request):
now = 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() 使用一个空字典。
作者:mr_jj_lian
来源:CSDN
原文:https://blog.csdn.net/Mr_JJ_Lian/article/details/6787786
版权声明:本文为博主原创文章,转载请附上博文链接!