TypeError: %i format: a number is required, not str (python, phonenumbers)
Я пытаюсь использовать phonenumbers, но как мне вызывать исключение для того, чтобы оно отдавалось обратно в post
форму? выдает ошибку %i format: a number is required, not str
вместо того, чтобы показать это, как ошибку о неправильном заполнении в форме на сайте
models.py
import phonenumbers
def validate_phone_number(value):
try:
z = phonenumbers.parse(value, None)
except phonenumbers.NumberParseException:
print('NOT VALID 0')
raise ValidationError(_('%(value) is not a valid phone number'), params={'value': value},)
if not phonenumbers.is_valid_number(z):
print('NOT VALID')
raise ValidationError(
_('%(value) is not a valid phone number'),
params={'value': value},
)
class Storehouses(models.Model):
phone = models.CharField(validators=[validate_phone_number], unique=True, max_length=17)
views.py
class StorehouseSettingsAddView(TemplateView):
template_name = 'storehouse/settings/storehouse_settings_add.html'
def get(self, request, *args, **kwargs):
# get work good
...
def post(self, request, *args, **kwargs):
formOne = StorehouseAddCategoryForm(self.request.POST, prefix='one_form')
if formOne.is_valid():
form_one = formOne.save(commit=False)
form_one.save()
return HttpResponseRedirect(reverse_lazy('storehouse_settings_add'))
else:
print('NotValid')
context = self.get_context_data()
formOne.prefix = 'one_form'
context.update({'formOne': formOne})
return self.render_to_response(context)