django.core.context_processors.request不工作

时间:2012-02-13 10:57:31

标签: django django-templates

我在setting.py

中有这个
TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.request',
    'django.core.context_processors.static',
    'django.contrib.auth.context_processors.auth',
)

每当我尝试在模板中访问请求时(例如{{ request.user.get_profile.custom_username }}),我都没有得到任何结果。我认为请求没有添加到模板中,因为如果我强制请求进入Context(在视图中),我可以访问它:

ctx = {}
#ctx['request'] = request
return render_to_response('index.html', ctx)

有任何帮助吗?感谢

2 个答案:

答案 0 :(得分:7)

使用渲染快捷方式,更容易记住:

return render(request, 'index.html', ctx)

答案 1 :(得分:2)

需要将requestContext传递给django 1.3中的模板。您可以使用render自动包含此内容,或者如果您需要使用render_to_response,请尝试:

return render_to_response('index.html',
                          ctx,
                          context_instance=RequestContext(request))