微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果所有字段无效,则Django-registration会清除所有字段

如何解决如果所有字段无效,则Django-registration会清除所有字段

|| 我已经使用django-registration创建了一个注册系统。我已经扩展了RegistrationFormTermsOfService,如下所示。一切正常,除非任何字段无效,页面会刷新并清除所有字段,因此用户必须再次输入所有内容。这是django-registration的认行为吗?我真的不想更改django注册代码。无论如何,要使此工作正常进行,以便使字段填充用户到目前为止已输入的内容
class UserCreationFormExtended(RegistrationFormTermsOfService):
    email = forms.EmailField(label=(\"Email\"),help_text = \"We\'ll send...\")
    username = forms.RegexField(
        label=\'Username:\',max_length=35,min_length=6,regex=r\'^[\\w-]{6,35}$\',help_text = \'Between 6 and 35 characters\',error_message = \'Enter between 6 and 35 alphanumeric characters.\')

    password1 = forms.RegexField(
        max_length=30,error_message = \'Enter between 6 and 35 characters.\')

    def __init__(self,*args,**kwargs):
        super(UserCreationFormExtended,self).__init__(*args,**kwargs)
        self.fields[\'email\'].required = True

    class Meta:
        model = User
        fields = (\'username\',\'email\')
    

解决方法

Django注册不会“刷新”表单,如果输入无效,则视图返回填充有已发布数据的表单。 您是否通过表格注册视图? 您的url.py中有类似的内容吗?
url(r\'^register/$\',\'registration.views.register\',{\'form_class\':UserCreationFormExtended}),
您定义的Meta类对我来说似乎毫无用处,您真的需要吗? 初始化也几乎没有用,因为您可以得到以下相同的结果:
email = forms.EmailField(label=(\"Email\"),required= True,help_text = \"We\'ll send...\")
但代码更少。 希望能帮助到你 :)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。