提交后将表单重定向到首页-Django

时间:2020-01-05 20:50:51

标签: python django

提交注册表格后,我试图将用户重定向到首页,但似乎被卡住了。我知道您可以利用return HttpResponseRedirect('/'),但是有一种方法可以将该行与return render(request, 'signup.html', {'form': form})合并

# Signup Form
def signup(request):   
    form = UserCreationForm()
    if request.method == "POST":
        email = request.POST.get('email')
        password1 = request.POST.get('password1')
        password2 = request.POST.get('password2')
        user = User.objects.create(email=email)
        user_type = request.POST.get('user_type')

        # create jobseeker or company object
        if user_type == "jobseeker":
            jobseeker = JobSeeker.objects.create(user=user)
        else:
        # if user_type == "company":
        company = Company.objects.create(user=user)
    return render(request, 'signup.html', {'form': form})

1 个答案:

答案 0 :(得分:1)

from django.urls import reverse_lazy

# Signup Form
def signup(request):   
	form = UserCreationForm()
	if request.method == "POST":
		email = request.POST.get('email')
		password1 = request.POST.get('password1')
		password2 = request.POST.get('password2')
		user = User.objects.create(email=email)
		user_type = request.POST.get('user_type')

		# create jobseeker or company object
		if user_type == "jobseeker":
			jobseeker = JobSeeker.objects.create(user=user)
		else:
		# if user_type == "company":
		company = Company.objects.create(user=user)
		return reverse_lazy('home')
	return render(request, 'signup.html', {'form': form})