django

时间:2017-09-30 10:03:06

标签: django

我需要在django app中验证用户名和密码,下面是详细信息

查看是,

class HomeView(TemplateView):
  template_name = 'home.html'
  template_name2 = 'Logout.html'

def get(self,request):
    form = LoginForm()
    posts=users_data.objects.all()
    args = {'form': form, 'posts': posts}
    return render(request, self.template_name, args)

    return render(request,self.template_name, {'form':form})

#template_name2 = 'Welcome.html'
def post(self,request):
    form = LoginForm(request.POST)
    if form.is_valid():
        #text=form.cleaned_data['post']
        username = forms.cleaned_data.get("Username")
        password = forms.cleaned_data.get("Password")

        user = authenticate(username=username, password=password)

        if not user:
            raise forms.ValidationError("This user does not exist")
            return render(request, self.template_name1)
        else:
            form.save()
            return render(request, self.template_name2)
    else:
        return render(request, self.template_name1)
输入用户名和密码后输入错误并无所事事。我被困在这一点上。请求帮助。

我的表格是,

from django import forms
from login.models import *
from django.contrib.auth import authenticate,login,logout,get_user_model

user=get_user_model()

class SignupForm(forms.ModelForm):

    class Meta:
        model=users_data
        fields=('Name','Email','Username','Password')

class LoginForm(forms.ModelForm):

    class Meta:
        model=users_data
        fields=('Username','Password')


    def clean(self):
        username = self.cleaned_data.get("Username")
        password = self.cleaned_data.get("Password")
        user=authenticate(username=username,password=password)
        if not user:
            raise forms.ValidationError("This user does not exist")

1 个答案:

答案 0 :(得分:0)

您可以使用来自LoginForm此代码博客的get user输入。

    username = form.cleaned_data.get("Username")
    password = form.cleaned_data.get("Password")