【问题标题】:'WSGIRequest' object has no attribute 'current_page'“WSGIRequest”对象没有属性“current_page”
【发布时间】:2017-02-02 03:53:37
【问题描述】:

我已经成功创建了我的第一个页面,但是当我单击站点上的视图时它显示了

Error : 'WSGIRequest' object has no attribute 'current_page'

不知道怎么回事,求指教。 当我通过视图使用直接 html 时,它正在加载页面,但在我尝试渲染模板时显示错误。 我正在使用以下版本:-

'django-cms==3.3.1',
'django==1.9.8',
'python==2.7.6'

我的文件描述如下:- 设置.py:

MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.locale.LocaleMiddleware',

]

url.py:

    from django.conf.urls import include,patterns,url
from django.contrib import admin
    from django.conf import settings

    # urlpatterns = [
    #     url(r'^admin/', admin.site.urls),
    # ]
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^', include('cms.urls')),
    ]

追溯——

    Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 174, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 172, in get_response
    response = response.render()
  File "/usr/local/lib/python2.7/dist-packages/django/template/response.py", line 160, in render
    self.content = self.rendered_content
  File "/usr/local/lib/python2.7/dist-packages/django/template/response.py", line 137, in rendered_content
    content = template.render(context, self._request)
  File "/usr/local/lib/python2.7/dist-packages/django/template/backends/django.py", line 95, in render
    return self.template.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 206, in render
    return self._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 69, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python2.7/dist-packages/classytags/core.py", line 146, in render
    return self.render_tag(context, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/classytags/helpers.py", line 41, in render_tag
    value = self.get_value(context, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/cms/templatetags/cms_tags.py", line 490, in get_value
    page = _get_page_by_untyped_arg(page_lookup, request, get_site_id(None))
  File "/usr/local/lib/python2.7/dist-packages/cms/templatetags/cms_tags.py", line 78, in _get_page_by_untyped_arg
    return request.current_page
AttributeError: 'WSGIRequest' object has no attribute 'current_page'
[25/Sep/2016 12:19:26] "GET /?edit&language=en-us HTTP/1.1" 500 146389

【问题讨论】:

  • 您好,请使用以下内容更新您的问题:Django 版本、django-cms 版本、python 版本和完整的回溯。谢谢:)
  • @Paulo - 我已经更新了我的问题。谢谢:)

标签: python-2.7 django-templates django-cms


【解决方案1】:

您的 MIDDLEWARE_CLASSES 设置中似乎缺少 djangoCMS 中间件类。

这是来自 djangoCMS 的中间件列表:

[
    'cms.middleware.utils.ApphookReloadMiddleware',
    'cms.middleware.user.CurrentUserMiddleware',
    'cms.middleware.page.CurrentPageMiddleware',
    'cms.middleware.toolbar.ToolbarMiddleware',
    'cms.middleware.language.LanguageCookieMiddleware',
]

您的设置应如下所示:

MIDDLEWARE_CLASSES = (
    'cms.middleware.utils.ApphookReloadMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'cms.middleware.user.CurrentUserMiddleware',
    'cms.middleware.page.CurrentPageMiddleware',
    'cms.middleware.toolbar.ToolbarMiddleware',
    'cms.middleware.language.LanguageCookieMiddleware',
)

您可以在我们的docs 中找到有关如何手动设置项目的更多信息。

【讨论】:

    猜你喜欢
    • 2016-07-30
    • 2015-04-15
    • 2013-05-20
    • 2016-09-22
    • 2015-10-19
    • 2021-11-16
    • 2012-07-31
    • 2021-12-26
    • 2011-04-23
    相关资源
    最近更新 更多