当前位置:  开发笔记 > 编程语言 > 正文

django在模板中的请求

如何解决《django在模板中的请求》经验,为你挑选了3个好方法。

我启用了django请求处理器

TEMPLATE_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.request",
)

我仍然不需要在模板中请求变量.我要手动传递它.使用django 1.0.2在网上的任何地方它似乎只是关于启用请求处理器..

我也使用RequestContext:

 return render_to_response(
    'profile.html',
    {
        'persons':Person.objects.all(),
        'person':Person.objects.get(id=id),
         'request':request,
    },
    context_instance=RequestContext(request)
)

没运气

哦,这个新名字是 TEMPLATE_CONTEXT_PROCESSORS



1> Dingo..:

settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
  # ...
  'django.core.context_processors.request',
  # ...
)


在Djano的更高版本中,请使用:'django.template.context_processors.request'

2> Attila..:

TEMPLATE_CONTEXT_PROCESSORS而不是TEMPLATE_PROCESSORS



3> MontyThreeCa..:

请注意,自Django 1.8起,它已更改为"TEMPLATES"设置,并且在默认配置中,不包括请求处理器.

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
        # insert your TEMPLATE_DIRS here
    ],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            # Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this
            # list if you haven't customized them:
            'django.contrib.auth.context_processors.auth',
            'django.template.context_processors.debug',
            'django.template.context_processors.i18n',
            'django.template.context_processors.media',
            'django.template.context_processors.static',
            'django.template.context_processors.tz',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},]

只需添加请求处理器即可解决问题:

'django.core.context_processors.request',

有关详细信息,请参阅Django升级文档.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有