基本上在弹出窗口(bootstrap)中我想从我的模型中获得所有指定的预先填充的字段。
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
答案 0 :(得分:1)
见this issue。重要部分:
可以对[HTMLFormRenderer]进行一些改进,特别是支持对字段的错误消息传递,并将序列化程序直接呈现为html而不创建Django表单[...]
基本上,HTMLFormRenderer也使用Django表单。此外,你是对的,文档没有提供太多的支持。更重要的是,这个渲染器似乎很快就会发生变化。见here。引用:
请注意,HTMLFormRenderer类使用的模板以及提交给它的上下文可能会发生变化。如果您需要使用此渲染器类,建议您制作类和模板的本地副本,或者密切关注REST框架升级的发行说明。
我知道这没什么用,但是现在没有比你做的更好的方法。