2017-01-09 96 views
1

我想使用Django rest框架为模型创建生成html表单。假设我有一个序列化程序,它属于与ManyToMany关系的模型。Django Rest框架序列化器作为窗体和嵌套关系

class SerializerExample(serializers.ModelSerializer): 
    mtm = ManyToManySerializer(many=True) 

我的话,在一个Django休息观点,

class AddModelView(StandardView): 
    serializer_class = ModelSerializer 
    renderer_classes = [TemplateHTMLRenderer] 

    template_name = 'details.html' 

    def get(self, request): 
     model = Model.objects.get.all() 
     serializer = ModelSerializer(model) 
     return Response({'serializer': serializer, 'model': model}) 

然后假设details.html样子:

{% load rest_framework %} 

<html><body> 

    <form method="POST"> 
     {% csrf_token %} 
     {% render_form serializer %} 
     <input type="submit" value="Save"> 
    </form> 

    </body></html> 

Lists are not currently supported in HTML input.,而不是多选或abiliity添加新实例。我究竟做错了什么?

回答

4

你不会错过任何东西。这是正在进行中的工作。 对嵌套序列化器使用JSON,或者如果您需要HTML表单,则不要使用嵌套序列化器。

+0

是否有json窗体创建的序列化程序,在json之后创建一个窗体遵循该w3c标准? – modesitt

+0

我已经使用过去的选项来获取json部分的自动表单。见http://www.django-rest-framework.org/api-guide/metadata/ – Linovia

+1

我其实写了我自己的。我的反应前端工作得很好。将很快发布在github上。 – modesitt

相关问题