gpt4 book ai didi

python - Django 简单形式 "object has no attribute ' is_hidden'"

转载 作者:行者123 更新时间:2023-12-05 01:46:23 25 4
gpt4 key购买 nike

我正在尝试呈现一个没有数据库模型的简单表单,但出现错误。以下是代码:

from django import forms
from django.utils.safestring import mark_safe
class ContactForm(forms.Form):
category_options = (
('select category', '--Select Category--'),
('fire safety', 'Fire Safety'),
('batteries/solar panels', 'Batteries/Solar Panels'),
( 'cctv systems','CCTV Systems')
)
category = forms.ChoiceField(label="Select a Category", choices=category_options, required=True)
full_name = forms.CharField(required=False)
email = forms.EmailField()
phone = forms.CharField(widget=forms.IntegerField)
message = forms.CharField(widget=forms.Textarea(attrs={'cols': 10, 'rows': 10}))

def clean_email(self):
email = self.cleaned_data.get('email')

return email

我没有正确填写电话字段。我需要为电话号码添加验证,但无法找到使用 IntegerField 小部件的正确方法。

我需要找到添加电话字段的准确方法。

我收到错误:

AttributeError at /contact/
'IntegerField' object has no attribute 'is_hidden'

我在使用时得到以下结果

phone = forms.CharField(widget=forms.NumberInput)

enter image description here

我从不同字段的 python 代码生成的 html 如下:

<p> 
<label for="id_email">Email:</label>
<input id="id_email" name="email" type="email">
</p>

<p>
<label for="id_phone">Phone:</label>
<input id="id_phone" name="phone" type="number">
</p>

我上面的两个字段都是用 python 代码生成的,但是电子邮件字段正确地应用了模板 css。但是“电话”字段没有渲染 css。

请指教。

最佳答案

forms.IntegerField不是小部件,而是表单上的字段类型。

您需要的是 forms.NumberInput

phone = forms.CharField(widget=forms.NumberInput)  

关于python - Django 简单形式 "object has no attribute ' is_hidden'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35859306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com