首页 > 解决方案 > 视图 basicapp.views.register 没有返回 HttpResponse 对象。它返回 None 代替)

问题描述

from django.shortcuts import render,HttpResponse
from basicapp.forms import UserForm,UserProfileInfoform


# Create your views here.
def index(request):
    return render(request,'basicapp/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,'basicapp/registration.html',
                              {'user_form':user_form,
                               'profile_form':profile_form,
                               'registered':registered})

标签: pythonhtml

解决方案


尝试使用以下代码:

from django.shortcuts import render,HttpResponse
from basicapp.forms import UserForm,UserProfileInfoform


# Create your views here.
def index(request):
    return render(request,'basicapp/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,'basicapp/registration.html',
                              {'user_form':user_form,
                               'profile_form':profile_form,
                               'registered':registered})

推荐阅读