[Answer]-ModelForm For Registration HttpResponseError

0👍

No, you should just move everything from the else onwards back one indentation level. Otherwise, nothing is returned if the request is not a POST.

1👍

You need to render something if the request is ‘GET’ instead of ‘POST’: ie.

def Registration(request):
    RegForm = RegistrationForm(request.POST or None)
    if request.method == 'POST':
        if RegForm.is_valid():
            clearUserName = RegForm.cleaned_data['userNm']   
            clearPass = RegForm.cleaned_data['userPass']
            RegForm.save()
            try:
                return HttpResponseRedirect('/NewUser/?user=' + clearUserName)
            except:
                raise ValidationError('Invalid Request', code='300') ## [ TODO ]: add a custom error page here.
        else:
            RegForm = RegistrationForm()

        return render(request, 'VA/reuse/register.html', {
            'form': RegForm 
        })
    else:
        RegForm=RegistrationForm()
        return render(request, 'template.html', {'formset': RegForm})

of course, you should change the context for your template, depending on whatever it is you need to render.

Leave a comment