from django.template.loader import get_template
from django.template import Context
from django.http import HttpResponse
import datetime
def current_datetime_template(request):
now = datetime.datetime.now()
t = get_template('current_datetime.html')
html = t.render(Context({'current_date': now}))
return HttpResponse(html)
前面我们使用 get_template() 方法代替繁杂的用代码来处理模板及其路径的工作。
import 这么多东西,还是比较麻烦。我们这里试下把它弄简洁一些,毕竟 Python 是门高效开发的语言,可不能这么复杂。
render_to_response()
from django.shortcuts import render_to_response
import datetime
def current_datetime_template(request):
now = datetime.datetime.now()
return render_to_response('current_datetime.html', {'current_date': now})
模板加载、上下文创建、模板解析和 HttpResponse 创建工作均在对 render_to_response() 的调用中完成了, 由于 render_to_response() 返回 HttpResponse 对象,因此我们仅需在视图中 return 该值。
render_to_response() 的第一个参数必须是要使用的模板名称。 如果要给定第二个参数,那么该参数必须是为该模板创建 Context 时所使用的字典。 如果不提供第二个参数, render_to_response() 使用一个空字典。
本文介绍如何在Django中简化模板渲染过程,通过使用render_to_response()方法替代手动加载模板和创建上下文的方式,实现更简洁高效的代码编写。
1013

被折叠的 条评论
为什么被折叠?



