Я могу легко создавать ModelSeralizers, но у меня небольшие проблемы с моими Формами. Есть ли способ сериализации формы ниже или мне нужно делать каждую форму на родном языке, если я беру это на мобильное устройство?Формы в Django Rest Framework
Спасибо заранее!
class SetPasswordForm(forms.Form):
password1 = forms.CharField(label='New password',
widget=forms.PasswordInput(
attrs={'placeholder': 'New password'}))
password2 = forms.CharField(label='Verify new password',
widget=forms.PasswordInput(
attrs={'placeholder': 'Password again'}))
def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user')
super(SetPasswordForm, self).__init__(*args, **kwargs)
def clean_password2(self):
password_length = settings.MIN_PASSWORD_LENGTH
password1 = self.cleaned_data.get("password1")
if len(password1) < password_length:
raise forms.ValidationError(
"Password must be longer than "
"{} characters".format(password_length))
password2 = self.cleaned_data.get("password2")
if password1 and password2:
if password1 != password2:
raise forms.ValidationError("Passwords do not match")
return password2
Благодарим Вас за это! Чтобы уточнить, я, по сути, должен заново создать каждую форму в качестве сериализатора? Очевидно, я могу скопировать и вставить много валидаторов, но нет способа ссылаться на форму там? – jape
Да, вам нужно будет воссоздать каждую форму как сериализатор. Сериализаторы работают очень похоже на формы Django. Вы можете добавить валидации формы в сериализаторы, и они будут работать аналогично формам. И нет, вы используете либо форму, либо сериализатор для достижения того, что вы делали раньше. Вы не можете ссылаться на форму в своем сериализаторе, а это необязательно. –