Django 管理模板:访问模板中的请求对象

Posted

技术标签:

【中文标题】Django 管理模板:访问模板中的请求对象【英文标题】:Django admin template: Accessing request object in template 【发布时间】:2012-07-02 15:00:20 【问题描述】:

我需要所有管理模板中的请求对象。在前端模板中,我可以通过使用RequestContext 渲染模板来实现这一点:

return render_to_response('my_template.html',
    my_data_dictionary,
    context_instance=RequestContext(request)
)

这样,我就可以在前端访问请求对象了:

 request.path 

如何为 Django 1.2 中的所有管理视图执行此操作?

【问题讨论】:

你加了requestTEMPLATE_CONTEXT_PROCESSORS吗? 【参考方案1】:

如果您在settings.py 中的TEMPLATE_CONTEXT_PROCESSORS 中添加了'django.core.context_processors.request',则该请求应该在管理模板中可用

【讨论】:

应该只需要访问 admin-templates 中的request-properties 吗?将 django 1.5 与 django.shortcuts.render 结合使用,它应该隐式包含请求,看来这对于自己的(非管理员)视图也是必需的。你能确认甚至解释吗? (顺便说一句,我对 django 还很陌生,所以可能会监督/误解简单的事情......) 一个较旧的answer 建议添加'django.core.context_processors.request' 也用于一般访问请求属性(链接示例中的会话字典)...顺便说一句,这个hint showing how to append values within settings instead of overwriting 似乎也值得一提上下文;)

以上是关于Django 管理模板:访问模板中的请求对象的主要内容,如果未能解决你的问题,请参考以下文章

Django框架入门之视图和URL模板

在 Django 中的 AJAX POST 请求后重新加载模板

Django将request对象传入模板配置

Django框架:视图模板

如何在模板标签中获取当前用户?

在 Django 模板标签中传递请求