I m using this code for a login form. But the post request aint working i m getting this error:
ValueError at /home/login/ The view manager.views.Login didn't return an HttpResponse object. It returned None instead.
Views.py
class Login(View):
form = LoginForm
template_name = 'login.html'
def get(self, request):
form = self.form(None)
return render(request, self.template_name, {'form': form})
def post(self, request):
form = self.form(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
auth_user = authenticate(username=username, password=password)
if auth_user is not None:
if auth_user.is_active:
login(request, auth_user)
return render(request, 'home.html')
else:
template_name = 'invalid_login.html'
return render(request, template_name)
urls.py
from django.conf.urls import include, url
from .views import register,home, contact, contactList, Login, Logout
app_name = 'manager'
urlpatterns = [
url(r'^$', home.as_view(), name='home'),
#REGISTRATION
url(r'^register/$', register.as_view() , name='register'),
url(r'^login/$', Login.as_view() , name='login'),
url(r'^logout/$', Logout , name='logout'),
]
login.html
<form action="" method="POST">
{% csrf_token %}
{{form.as_p}}
<button type="submit">SUBMIT</button>
</form>
The complete code is on Github for any further reference: GITHUB