添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

i want to create a registration form but i m getting an attribute error while running the application

from django.shortcuts import render
from basic_app.forms import UserForm,UserProfileInfoForm
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_from.is_valid():
            user=user_form.save()
            user.setpassword(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(request,'basic_app/registration.html',
          {'user_form':user_form,
            'profile_form':profile_form,
            'registered':registered})

output

Internal Server Error: /basic_app/register/ Traceback (most recent call last): File "C:\Users\Shoaib Khan\AppData\Local\conda\conda\envs\myenv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "C:\Users\Shoaib Khan\AppData\Local\conda\conda\envs\myenv\lib\site-packages\django\utils\deprecation.py", line 93, in call response = self.process_response(request, response) File "C:\Users\Shoaib Khan\AppData\Local\conda\conda\envs\myenv\lib\site-packages\django\middleware\clickjacking.py", line 26, in process_response

if response.get('X-Frame-Options') is not None:

AttributeError: 'tuple' object has no attribute 'get' [24/Dec/2018 15:34:51] "GET /basic_app/register/ HTTP/1.1" 500 61448

You've actually created a tuple here. Notice the the parenthesis around the three things that you're returning?

This is how you render a template in django:

from django.shortcuts import render
render(request, 'polls/index.html', context)

So in your case this will work:

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

For more information on render check out its docs

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.