gpt4 book ai didi

python - Django - 值错误 : invalid literal for int() with base 10: 'Confirm email'

转载 作者:行者123 更新时间:2023-11-28 21:56:42 24 4
gpt4 key购买 nike

我一直收到此错误,但我终究找不到问题的根源。

回溯:

/Library/Python/2.7/site-packages/django/core/handlers/base.py in get_response
response = middleware_method(request)

/Library/Python/2.7/site-packages/django/middleware/common.py in process_request
if (not urlresolvers.is_valid_path(request.path_info, urlconf) and

/Library/Python/2.7/site-packages/django/core/urlresolvers.py in is_valid_path
resolve(path, urlconf)

/Library/Python/2.7/site-packages/django/core/urlresolvers.py in resolve
return get_resolver(urlconf).resolve(path)

/Library/Python/2.7/site-packages/django/core/urlresolvers.py in resolve
for pattern in self.url_patterns:

/Library/Python/2.7/site-packages/django/core/urlresolvers.py in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

/Library/Python/2.7/site-packages/django/core/urlresolvers.py in urlconf_module
self._urlconf_module = import_module(self.urlconf_name)

/Library/Python/2.7/site-packages/django/utils/importlib.py in import_module
__import__(name)

/Users/user/Desktop/user/urls.py in <module>
import contacts.views

/Users/user/Desktop/contacts/views.py in <module>
import forms

/User/Desktop/contacts/forms.py in <module>
class ContactForm(forms.ModelForm):

/Users/Desktop/contacts/forms.py in ContactForm
required=True,

我正在关注有效的 django 教程,并在此 page ,但我无法通过电子邮件验证部分。我不确定我在这里做错了什么。

表格.py:

from django import forms
from django.core.exceptions import ValidationError

from contacts.models import Contact

class ContactForm(forms.ModelForm):

confirm_email = forms.EmailField(
"Confirm email",
required=True,
)

class Meta:
model = Contact

def __init__(self, *args, **kwargs):# Constructor mutates kwarg.

if kwargs.get('instance'):
email = kwargs['instance'].email# Instance is the name of what's being edited
kwargs.setdefault('initial', {})['confirm_email'] = email

return super(ContactForm, self).__init__(*args, **kwargs)

def clean(self):
if (self.cleaned_data.get('email') !=
self.cleaned_data.get('confirm_email')):

raise ValidationError(
"Email address must match."
)

return self.cleaned_data

模型:

first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
email = models.EmailField()

def __str__(self):
return ' '.join([
self.first_name,
self.last_name,
])

def get_absolute_url(self):
return reverse('contacts-view', kwargs={'pk': self.id})#Returns address of a contact.

最佳答案

confirm_email 更改为使用关键字参数:

confirm_email = forms.EmailField(label="Confirm email", required=True)

因为当你将它定义为:

confirm_email = forms.EmailField("Confirm email", required=True)

forms.EmailField 的构造函数将 Confirm email 设为 max_length:

    def __init__(self, max_length=None, min_length=None, *args, **kwargs):
self.max_length, self.min_length = max_length, min_length
super(CharField, self).__init__(*args, **kwargs)

关于python - Django - 值错误 : invalid literal for int() with base 10: 'Confirm email' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959288/

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