【问题标题】:django forms autofiled by browser浏览器自动归档的 django 表单
【发布时间】:2010-09-14 13:58:35
【问题描述】:

所以我有两节课

这个:

class updateForm(forms.Form):
address = forms.CharField(
                        max_length = 255,
                        label      = 'Home Address', 
                        )
cnp    = forms.CharField(
                        max_length = 15,
                        label      = 'CNP',
                        )
phoneNumber = forms.CharField(
                             max_length = 30,
                             label      = 'Phone number',
                             )
token =  forms.CharField(
                        max_length = 20,
                        label      = 'token',
                        )
oldPass = forms.CharField(
                          widget     = forms.PasswordInput,
                          max_length = 30,
                          label      = 'Old Password',
                         )
newPass = forms.CharField(
                          widget     = forms.PasswordInput,
                          max_length = 30,
                          label      = 'New Password',
                         )                                     
retypePass = forms.CharField(
                             widget     = forms.PasswordInput,
                             max_length = 30,
                             label      = 'Retype Password',
                            )

还有这个:

class BaseUsernameForm(forms.Form):
username = forms.CharField(max_length=255,
                           label='Username')
def clean_username(self):
    username = self.cleaned_data['username']
    return _clean_username(username)

class BasePasswordForm(forms.Form):
    password = forms.CharField(max_length=255,
                           widget=forms.PasswordInput,
                           label='Password')

class LoginForm(BaseUsernameForm, BasePasswordForm):
    pass

在我登录后......并进入 updateForm 所在的页面......我得到了令牌和 oldPass 字段自动归档的令牌:用户名和 oldPass:来自 loginForm 的密码......为什么?

在 html 中,他们不共享任何 id 或类...我怎样才能防止这种情况发生?

【问题讨论】:

    标签: python django forms django-forms


    【解决方案1】:

    也许这些值是由您的浏览器填写的?为令牌和 oldPass 输入字段尝试 autocomplete="OFF" 以获得如下内容:

    <input type="text" autocomplete="OFF" name="token"/>
    

    【讨论】:

    • 是的,我用过这个......我发现我可以做类似 name = forms.CharField(widget=forms.TextInput(attrs={'class':'special'})) 的事情 - 但是我使用了一个 form.html,当我使用这个表单时我不需要再碰到这个了,我做了这个
      谢谢回复 :) PS:不知道如何在 cmets 中制作“代码”标签 ...
    猜你喜欢
    • 2018-12-11
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 2015-05-10
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    相关资源
    最近更新 更多