从 Django 表单序列化
Posted
技术标签:
【中文标题】从 Django 表单序列化【英文标题】:Serialize from a Django form 【发布时间】:2017-01-11 21:16:03 【问题描述】:我正在将一个传统的 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】:嗯,我收到了朋友的回复,他给了我:
https://django-rest-framework-braces.readthedocs.io/en/latest/overview.html#formserializer
【讨论】:
请不要只用链接回答,因为它可能会在将来消失。您应该直接在答案中包含关键信息***.com/help/how-to-answer以上是关于从 Django 表单序列化的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 django rest 框架序列化程序中使用重用 django 表单进行验证?
Django Rest Framework 序列化器作为表单和嵌套关系