我想登录&用Django建立我的网站,但它不起作用

时间:2018-05-27 10:55:04

标签: python html django web

form.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)

view.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.all()
        us = User(name=name, email=email, password=password)
        us.save()
    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地址

2 个答案:

答案 0 :(得分:0)

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})

查看上行代码

答案 1 :(得分:0)

除非你有多名安全专家在工作;拜托,请让其他人处理你的登录,如Google或Facebook。比如当你去创建帐户时它会说"使用谷歌登录"