2017-01-09 48 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

相關問題