python - 我想用 Django 登录和注册我的网站,但它不起作用
问题描述
表格.py
class SignUpForm(forms.Form):
name = forms.CharField(max_length=50, required=True)
email = forms.EmailField(max_length=100, required=True)
password = forms.CharField(max_length=20, required=True)
class SignInForm(forms.Form):
email = forms.EmailField()
password = forms.CharField(max_length=20, min_length=8)
视图.py
def Sign_Up(request.POST):
if request.method == 'POST':
form = SignUpForm(request)
if form.is_valid():
cd = form.cleaned_data
name = cd['name']
email = cd['email']
password = cd['password']
us = User..objects.get(email__exact=email, password__exact=password)
return HttpResponseRedirect('/')
else:
form = SignUpForm()
return render(request,'User Login Page.html', {'form':form})
def Sign_In(request.POST):
if request.method =='POST' :
form = SignInForm(request)
if form.is_valid():
F = form.cleaned_data
Eemail = F['email']
Epassword = F['password']
try:
user = User.objects.filter(email=Eemail)
except User.DoesNotExist:
form = SignInForm()
return render(request, "Admin Login Page.html", {'form': form})
if User.password == Epassword:
return HttpResponseRedirect("/")
form = SignInForm()
return render(request,"Admin Login Page.html",{'form':form})
我想使用Django为我的网站进行登录和注册,但它不起作用!
当我点击提交按钮HttpRsponseDirect
时,即使参数为空,我的注册也会直接转到地址
解决方案
def Sign_Up(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
name = cd['name']
email = cd['email']
password = cd['password']
user = form.save()
user.refresh_from_db()
user.save()
user = authenticate(username=email, password=password)
return HttpResponseRedirect('/')
else:
form = SignUpForm()
return render(request,'signup.html', {'form':form})
def Sign_In(request):
if request.method =='POST' :
form = SignInForm(request)
if form.is_valid():
F = form.cleaned_data
Eemail = F['email']
Epassword = F['password']
user=authenticate(username=F,password=Epassword)
if user is not None:
return HttpResponseRedirect("/")
else:
form=SignInForm()
message='login failed'
retuen render(request,'login.html',{'form':form,'message':message})
查看上行代码
推荐阅读
- java - 字符类中的元字符 (`[]`)
- excel - VBA 从 Excel 中的另一个工作簿复制数据
- twilio - 将语音邮件转发到电子邮件
- bash - 登录到另一台服务器并运行命令 - 使用脚本
- android - Android Studio - 配置图片资源
- python - 如何在具有负值的数据集中使用卡方检验
- c++11 - 当可以使用 map 完成相同的事情时,为什么在 C++ 中实现了集合数据结构?
- asp.net-mvc - JSTree: Uncaught TypeError: $(...).jstree is not a function
- javascript - 通过 innerHTML 动态添加 CSS 文件的加载端事件
- javascript - 提交后谷歌脚本网络应用程序进入空白页面