我一定错过了设置自定义模板上下文的功能,因为它永远不会被调用。
在设置中:
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django_authopenid.context_processors.authopenid",
"web.context_processors.my_hat",
)
web / context_processors.py中的
from libs.utils import get_hat, get_project, my_hats
print 'heloooo'
def my_hat(request):
"""Insert some additional information into the template context
"""
import pdb
pdb.set_trace()
print 'hiiiiiiii'
return {'hat': get_hat(request),
'project': get_project(request),
}
没有输出任何内容,django进程查看并显示模板,而不会遇到此问题。我错过了什么!?
感谢Insin,我错过了一些内容:
在view.py
中return render_to_response(template, {
'tasks': tasks,
},
context_instance=RequestContext(request))
在模板中:
My current hat is {{hat}}
答案 0 :(得分:15)
您是否记得在渲染模板时使用RequestContext?
从Django 1.3开始,有一个新的快捷功能render
,默认情况下使用RequestContext
:
return render(request, template, {
'tasks': tasks,
})