从Django表单序列化

时间:2016-09-04 07:49:00

标签: django django-forms django-rest-framework

我正在将一个传统的django网站迁移到API Restful。

我已经有一张大表格了。这个表单目前是 Django.forms.Form 对象,我想将它的提交发送到其他API点。

我想做一些与ModelSerializer类似的事情,但是从Form对象而不是Model。

这个项目有一些表格(不是基于模型的),我想重用这段代码。

遗憾的是,我没有找到如何直接从Form中进行序列化。

我想做的例子

class LargeAndUgglyForm(forms.Form):

    email = forms.CharField(
        required=True,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                'placeholder': _('Correo electrónico')}))

    password1 = forms.CharField(required=True, widget=forms.PasswordInput(
        attrs={'placeholder': _(u'Contraseña')}))

    password2 = forms.CharField(required=True, widget=forms.PasswordInput(
        attrs={'placeholder': _(u'Repetir contraseña')}))

    name_company = forms.CharField(
        required=True,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                'placeholder': _('Nombre de la Empresa')}))

    # ... and much more fields


class SignupSerializer(???):
    Meta:
        form = LargeAndUgglyForm

    def create(self, validated_data):

        form_instance = LargeAndUgglyForm(validated_data)

        if form_instance.is_valid():
            # ...

PS。对不起我的英文

1 个答案:

答案 0 :(得分:5)