如何从Django登录表单传递用户名?

时间:2016-08-13 05:11:16

标签: python django django-forms

对于那里的人来说,这将是一个简单的问题。我搜索了很多,如果有一个线程可以完美地解决这个问题,请指导我并关闭它。我正在使用Django在我们组织的网站上构建一个非常简单的Web表单。

在forms.py中,我有一个登录页面的类:

class userLogin(forms.Form):

    user = forms.CharField(label = 'Username ', max_length = 25)
    pwd  = forms.CharField(label = 'Password ', widget = forms.PasswordInput)

    def clean(self):

        cleaned_data = super(userLogin, self).clean()
        user         = cleaned_data.get("user")
        pwd          = cleaned_data.get("pwd")

        if not fs.authenticateUser(user, pwd):
            raise forms.ValidationError("Invalid password!")

我必须对我们网站的API进行身份验证,这就是fs.authenticate位的内容;它只返回True或False。在views.py中我这样做:

    if request.method == 'POST':

        user_form = userLogin(data = request.POST)

        if user_form.is_valid():            
            return redirect('PickupAuthorization/main')
        else:
            pass                    

对主页的身份验证和重定向工作非常顺利,当凭据不正确时,登录表单会按预期抛出无效的密码消息。我想知道的是如何使views.py可以使用“user”。如果我尝试在视图中引用user_form.user,Python告诉我用户不是userLogin的属性!

我对OOP没有做太多,所以我想象这有一个简单的答案,但我不能发现它。谢谢!

编辑:我不得不搁置这个项目暂时支持更紧迫的事情,但是当我有一个正常运行的解决方案时,我会更新它。

0 个答案:

没有答案