【问题标题】:"AttributeError: 'tuple' object has no attribute 'get' " on django application“AttributeError:'tuple'对象没有属性'get'”在django应用程序上
【发布时间】:2019-12-23 10:25:12
【问题描述】:

我无法在我的 django 应用程序中找出错误的来源。

内部服务器错误:/app/register/ 回溯(最近一次通话最后): 文件“/home/stokesy/Desktop/MyDjangoEnv/lib/python3.7/site-packages/django/core/handlers/exception.py”,第 34 行,在内部 响应 = get_response(请求) 调用中的文件“/home/stokesy/Desktop/MyDjangoEnv/lib/python3.7/site-packages/django/utils/deprecation.py”,第 96 行 响应 = self.process_response(请求,响应) 文件“/home/stokesy/Desktop/MyDjangoEnv/lib/python3.7/site-packages/django/middleware/clickjacking.py”,第 26 行,在 process_response 如果 response.get('X-Frame-Options') 不是无: AttributeError: 'tuple' 对象没有属性 'get'`

views.py:

from django.shortcuts import render
from basic_app.forms import UserProfileInfoForm,UserForm

# Create your views here.
def index(request):
       return render(request,'basic_app/index.html')

def register(request):

       registered = False

       if request.method == "POST" :
              user_form = UserForm(data=request.POST)
              profile_form = UserProfileInfoForm(data=request.POST)


          if user_form.is_valid() and profile_form.is_valid():
                 user = user_form.save()
                 user.set_password(user.password)
                 user.save()

                 profile = profile_form.save(commit=False)
                 profile.user = user

                 if 'profile_pic' in request.FILES :
                        profile.profile_pic = request.FILES['profile_pic']

                 profile.save()

                 registered = True

          else :
                 print(user_form.errors,profile_form.errors)

   else:
          user_form = UserForm()
          profile_form = UserProfileInfoForm()

   return render(request,'basic_app/registration.html'),{'user_form':user_form,'profile_form':profile_form,'registered':registered}

【问题讨论】:

  • 你搞砸了渲染调用。您需要将右括号“)”移动到行尾
  • return render(request,'basic_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})
  • 哎呀,这是一个愚蠢的错误,谢谢:/

标签: python django django-models django-forms django-views


【解决方案1】:

你做错了。您在字典之前关闭了渲染括号。

return render(request,'basic_app/registration.html'),{'user_form':user_form,'profile_form':profile_form,'registered':registered}

你已经这样做了

`return render(request,'basic_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})`

不要在字典后面关闭),因为字典是第三个参数。

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2019-05-23
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多