【问题标题】:Get Request in all views在所有视图中获取请求
【发布时间】:2013-03-04 10:45:54
【问题描述】:

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

request.get_full_path

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

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

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

【问题讨论】:

    标签: django


    【解决方案1】:

    我刚刚在这里回答了类似的问题: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 将在所有模板中可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 2011-11-14
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      相关资源
      最近更新 更多