1

如何确保模板中始终包含“请求”?例如,如果我想在模板中调用以下内容:

request.get_full_path

我总是必须像这样将它包含在我的上下文中(在视图中)......

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

必须有一种更优雅的方式同时为我的所有视图执行此操作?

4

1 回答 1

3

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

基本上你需要在你的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将在所有模板中可用。

于 2013-03-15T16:26:25.843 回答