2017-01-09 2 views
1

Я пытаюсь использовать фреймворк django rest для генерации html-форм для создания модели. Предположим, у меня есть сериализатор, который относится к модели с отношением ManyToMany.Сериализаторы Django Rest Framework как формы и вложенные отношения

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

Я тогда, в целях Джанго отдыха,

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

Смежные вопросы