【问题标题】:'tuple' object has no attribute 'get''tuple' 对象没有属性 'get'
【发布时间】:2017-03-21 20:05:29
【问题描述】:

我是 Django 框架的新手,我正在尝试执行 Django 身份验证视图,但我不断收到此错误

C:\Users\Harsley\bookmarks>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
March 21, 2017 - 21:11:56
Django version 1.10.6, using settings 'bookmarks.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Internal Server Error: /
Traceback (most recent call last):
  File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\exception.py", line 42, in inner
    response = get_response(request)
  File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\deprecation.py", line 138, in __call__
    response = self.process_response(request, response)
  File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\middleware\clickjacking.py", line 32, in process_response
    if response.get('X-Frame-Options') is not None:
AttributeError: 'tuple' object has no attribute 'get'
[21/Mar/2017 21:11:58] "GET / HTTP/1.1" 500 57044

这是我的 url.py 文件

from django.conf.urls import url
from django.contrib.auth import views as auth_views
from . import views
urlpatterns = [
    url(r'^login$', auth_views.login, name='login'),
    url(r'^logout$', auth_views.logout, name='logout'),
    url(r'^logout_then_login$', auth_views.logout_then_login, `name='logout_then_login'),`
    url(r'^$', views.dashboard, name='dashboard'),
]

这是我的看法

from django.contrib.auth.decorators import login_required
@login_required()
def dashboard(request):
    return (request, 'dashboard.html', {'section': 'dashboard'})

【问题讨论】:

  • 请显示您的views.dashboard 意见
  • 我已经添加了
  • 粘贴完整的错误回溯。您发布的内容几乎无法说明任何事情。
  • 这是我得到的完整的 Traceback 错误

标签: python django


【解决方案1】:

这是错误的:

return (request, 'dashboard.html', {'section': 'dashboard'})

您将返回 tuple,而您必须返回 Response

您可以使用render-shortcut:而不是直接返回响应:

from django.shortcuts import render
from django.contrib.auth.decorators import login_required

@login_required()
def dashboard(request):
    return render(request, 'dashboard.html', {'section': 'dashboard'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2019-05-23
    • 2020-04-21
    • 1970-01-01
    • 2022-01-14
    • 2022-11-17
    相关资源
    最近更新 更多