【问题标题】:ImportError: cannot import name 'TEMPLATE_CONTEXT_PROCESSORS'ImportError:无法导入名称“TEMPLATE_CONTEXT_PROCESSORS”
【发布时间】:2017-04-06 09:40:48
【问题描述】:

我尝试使用 django-endless-pagination https://django-endless-pagination.readthedocs.io/en/latest/start.html#quickstart 我跟着教程

我写道:

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS
TEMPLATE_CONTEXT_PROCESSORS += (
    'django.core.context_processors.request',
)

得到了这个错误:

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS
ImportError: cannot import name 'TEMPLATE_CONTEXT_PROCESSORS'

我该怎么办?

【问题讨论】:

  • 你的 Dajngo 版本是什么?

标签: python django python-3.x


【解决方案1】:

无限分页的文档没有更新。 TEMPLATE_CONTEXT_PROCESSORS 自 Django 1.8 起已弃用,并在 1.10 中删除。请参考升级https://docs.djangoproject.com/en/1.10/ref/templates/upgrading/,它显示了放置上下文处理器的位置。

【讨论】:

    【解决方案2】:

    这些说明是为 Django 1.7 或更早版本编写的。

    它们尚未针对 Django 1.8 中的新 TEMPLATES 设置进行更新,并且在 Django 1.10+ 中将不起作用。

    对于指令的这个特定部分,从 settings.py 中删除这些行就足够了,因为在 Django 1.8+ 中默认启用了 request 模板上下文处理器。

    但是,它看起来好像是 django-endless-pagination is no longer supported,所以你在使用最新版本的 Django 时可能会遇到其他问题。你可以试试this fork。

    【讨论】:

      猜你喜欢
      • 2017-01-11
      • 1970-01-01
      • 2016-03-31
      • 2014-10-10
      • 2014-09-20
      • 2014-08-28
      • 2014-06-10
      • 2016-05-16
      • 2019-05-25
      相关资源
      最近更新 更多