Django,登录失败并返回原始html代码页
我写了一个登录页面,当然它包含一个表单。然后我编写了我的LoginView使用类,如下所示:Django,登录失败并返回原始html代码页,html,django,Html,Django,我写了一个登录页面,当然它包含一个表单。然后我编写了我的LoginView使用类,如下所示: class LoginView(View): def get(self, request): return render(request, "login.html") def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): username =
class LoginView(View):
def get(self, request):
return render(request, "login.html")
def post(self, request):
login_form = LoginForm(request.POST)
if login_form.is_valid():
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return render(request, 'index.html')
else:
return render(request, 'login.html', {'msg':'账号未激活!'}, {'login_form':login_form})
else:
return render(request, 'login.html', {'msg':'用户名不存在!'}, {'login_form':login_form})
else:
return render(request, 'login.html', {'msg':'用户名或密码错误!'}, {'login_form':login_form})
忽略你可能不认识的中国人。
我试图输入错误的用户名和密码,它应该返回同一页的错误消息,以允许我再次输入,但。。。
它返回一个包含所有html代码的页面,看起来浏览器没有编译这些代码?
如果我在LoginView中犯了错误?您需要访问
表单。已清理的\u数据
而不是请求。POST
username = login_form.cleaned_data['username']
password = login_form.cleaned_data['password']
您需要访问
表单。已清理的\u数据
而不是请求。POST
username = login_form.cleaned_data['username']
password = login_form.cleaned_data['password']
问题解决了。{msg}和{login_form}不应分开解决问题。{msg}和{login_form}不应分开