Я только что создал логин с Django, но он не хочет работать. Сценарий должен быть перенаправлен на start.html, если пользователь правильно зарегистрирован. Но Django просто перезагружает страницу с именем пользователя и паролем в URL-адресе.Вход Django не работает
view.py
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth import authenticate, login
from django.views.generic import View
class Index(View):
def get(self, request):
return render(request, "index.html")
def user_login(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect('^start/')
else:
return HttpResponseRedirect('^err/')
else:
print ("Invalid login details")
return HttpResponseRedirect('^impressum/')
urls.py проекта:
from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from alarm.views import *
from impressum.views import *
from login.views import *
urlpatterns = [
url(r'^$', Index.as_view()),
url(r'^admin/', admin.site.urls),
url(r'^start/', start.as_view()),
url(r'^terms/', impressum.as_view()),
url(r'^err/', error404.as_view())
]
Что случилось с этим?
Полный код: https://github.com/Croghs/stuport
Спасибо за каждую помощь и извините за плохой английский
Croghs
Я изменил класс POST и изменил тип методу, но теперь я перенаправлен на пустую страницу, ( – Croghs
Я думаю, что вы хотите «пост», а не «POST» – dyagmin
Затем он выдает ошибку: . TypeError at/ post() принимает 1 позиционный аргумент, но 2 даны – Croghs