【问题标题】:How can we access data stored in django forms?我们如何访问存储在 django 表单中的数据?
【发布时间】:2021-01-08 04:51:02
【问题描述】:

我正在使用以下代码从用户那里获取联系电话和电子邮件:

 Contact_Number = forms.RegexField(regex="[0-9]",min_length=11,max_length=15)
 email = forms.EmailField(required=True)

有什么方法可以访问用户联系电话,稍后使用用户名。我可以使用“user.email”而不是联系电话来增加电子邮件。

【问题讨论】:

    标签: python-3.x django forms


    【解决方案1】:

    在您的用户应用中

    #forms.py

    class UserRegisterForm(UserCreationForm):
        email=forms.EmailField(help_text='Enter valid email ')
    
        class Meta:
            model=User
            fields=['username','email','password1','password2']
    

    如果你必须添加一个额外的字段,那么

    #forms.py

    class UserRegisterForm(UserCreationForm):
        first_name=forms.CharField(max_length=30,required=False,help_text='Enter Your Name ')
        last_name=forms.CharField(max_length=30,required=False,help_text='Enter Your Surname')
        email=forms.EmailField(help_text='Enter valid email ')
        phone_number=forms.IntegerField(help_text='Enter valid phone number ')
    
        class Meta:
            model=User
            fields=['username','first_name','last_name','email','phone_number','password1','password2']
    
        def save(self, commit=True):
            user=super(UserRegisterForm,self).save(commit=True)
            user.first_name= self.cleaned_data['first_name']
            user.last_name=self.cleaned_data['last_name']
            user.phone_number=self.cleaned_data['phone_number']
            if commit:
                user.save()
            return user
    

    #user/register.html

        <form method="POST">
        {% csrf_token %}
        <fieldset class="form-group">
            <legend class="'border-bottom mb-4">Register </legend>
            {{ form|crispy }}
        </fieldset>
        <div class="form-group">
            <button class="btn-outline-info" type="submit"> Sign Up</button>
        </div>
    </form
    

    希望它有效,如果不是那么请注意我

    【讨论】:

    • 抱歉,昨天我只测试了 first_name 和 last_name 字段。现在,我通过复制您的代码放置了 phone_number 属性,但它不起作用。此外,当我将“电子邮件”替换为“电子邮件”时,只是为了检查它是否适用于它,它也不起作用,我还添加了 'user.emails = self.cleaned_data['emails']'
    • 我已经解决了这个问题,你的解决方案引导我解决了这个问题。我实际上使用的是默认用户数据库,并且没有任何电话号码字段,因此没有保存它。
    猜你喜欢
    • 2012-08-02
    • 2016-05-22
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2019-02-18
    • 2022-03-18
    相关资源
    最近更新 更多