Django Rest Framework预先填充了具有特定查询集的表单

时间:2014-08-14 14:06:16

标签: django django-rest-framework

基本上在弹出窗口(bootstrap)中我想从我的模型中获得所有指定的预先填充的字段。

我找到了这段代码(https://groups.google.com/forum/#!searchin/django-rest-framework/HTMLFormRenderer/django-rest-framework/s24WFvnWMxw/hhmaD6Qw0AMJ

class CreatePerformanceForm(forms.ModelForm):
    model = Performance
    fields = ('field1', 'field2')

class PerformanceCreateView(ListCreateAPIView): 
    serializer_class = PerformanceCreateSerializer
    model = Performance
    template_name = 'core/perform.html'

    def get(self, request, format=None):
        data = {'
            form': CreatePerformanceForm()
        }
        return Response(data)

我的问题是一样的。 有没有办法直接从序列化器创建表单,所以我不必创建Django表单?

我查看了HTMLFormRenderer,但DRF文档在这个问题上很安静。

谢谢,

d

1 个答案:

答案 0 :(得分:1)

this issue。重要部分:

  

可以对[HTMLFormRenderer]进行一些改进,特别是支持对字段的错误消息传递,并将序列化程序直接呈现为html而不创建Django表单[...]

基本上,HTMLFormRenderer也使用Django表单。此外,你是对的,文档没有提供太多的支持。更重要的是,这个渲染器似乎很快就会发生变化。见here。引用:

  

请注意,HTMLFormRenderer类使用的模板以及提交给它的上下文可能会发生变化。如果您需要使用此渲染器类,建议您制作类和模板的本地副本,或者密切关注REST框架升级的发行说明。

我知道这没什么用,但是现在没有比你做的更好的方法。