gpt4 book ai didi

python - Django 电话号码表单字段出现错误

转载 作者:行者123 更新时间:2023-12-01 03:39:49 25 4
gpt4 key购买 nike

我正在构建一个包含电话号码字段的 Django 表单。我一直在引用这两个问题来了解如何做到这一点:1 , 2 。我创建了这个表单字段:

class ContactForm(forms.Form):
phone = forms.RegexField(
regex = r'^\+?[1-9]\d{1,14}$',
#regex = r'\+?\d{10,14}$',
error_messages = {'required', 'Phone number required'},
widget = forms.TextInput(attrs={'class': 'form-control'})
)

我在模板中显示该字段:

<div>
<label for="id_phone">Your Phone Number</label>
{{ form.phone.errors }}
{{ form.phone }}
</div>

我理解正则表达式正在做什么,并且它们对我来说看起来是正确的。但是,如果我使用其中任何一个,我就会收到此错误:

ValueError at /business/contact/
dictionary update sequence element #0 has length 8; 2 is required
...
Exception Location: /srv/http/example.com/venvs/dev/local/lib/python2.7/site-packages/django/forms/fields.py in __init__, line 125
(stacktrace...)
widget = forms.TextInput(attrs={'class': 'form-control'})
super(RegexField, self).__init__(max_length, min_length, *args, **kwargs)
super(CharField, self).__init__(*args, **kwargs)
messages.update(error_messages or {})
(end of stacktrace)

任何人都可以看到导致此错误的原因吗?这似乎是由正则表达式引起的。

最佳答案

我刚刚发现了这个错误。就在这一行:

error_messages = {'required', 'Phone number required'},

我需要用“:”替换“,”:

error_messages = {'required': 'Phone number required'},

关于python - Django 电话号码表单字段出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780945/

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