@windy 已经解决了, RequestContext可以实现.
具体思路是:
在views视图定义一个/多个公用的context集合(即是processors). 建议按照不同的数据集合定义不同的processor, 这样更加灵活
直接看代码:
from django.template import loader, RequestContext
def user_proc(request):
"""a context processor that provides user information"""
return {
'user': request.user,
}
def home(request):
link_list = Link.objects.order_by('-pub_date')
t = loader.get_template('home.html')
c = RequestContext(request, {'link_list': link_list,},
processors=[user_proc])
return HttpResponse(t.render(c))
注意: djangobook 中直接return r.render(c) 在我的版本1.5中报错, 需要这样:
return HttpResponse(t.render(c))