2013-03-15 78 views
1

如何在我的模板中始终确保'请求'?例如,如果我想调用模板如下:在所有视图中获取请求

request.get_full_path 

我总是把它列入我的情况下(在视图中),这样的....

context = {'form': form,'request':request} 
return render_to_response('contacts/group.html', context, context_instance=RequestContext(request)) 

必须有一个更优雅的方式来同时为我所有的观点做到这一点?

回答

3

我刚刚在这里回答了类似的问题:request.path in django template(无法将其标记为重复,因为答案尚未被接受)。

基本上你需要在你的settings.py定义TEMPLATE_CONTEXT_PROCESSORS变量:

TEMPLATE_CONTEXT_PROCESSORS = (
    // DEFAULT 
    "django.contrib.auth.context_processors.auth", 
    "django.core.context_processors.debug", 
    "django.core.context_processors.i18n", 
    "django.core.context_processors.media", 
    "django.core.context_processors.static", 
    "django.core.context_processors.tz", 
    "django.contrib.messages.context_processors.messages", 
    // for request 
    "django.core.context_processors.request" 
) 

现在request将在所有模板可用。