【问题标题】:Django Rest Framework pre-populate form with specific querysetDjango Rest Framework 使用特定查询集预填充表单
【发布时间】:2014-10-08 05:26:55
【问题描述】:

基本上在弹出窗口(引导程序)中,我想从我的模型中获取所有指定的预填充字段。

我找到了这段代码 (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

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    this issue。重要部分:

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

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

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

    我知道这并没有多大帮助,但目前没有比你这样做更好的方法了。

    【讨论】:

    • 感谢您的回复。是的,我也阅读了文档,因此我认为这是唯一的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2016-12-21
    • 2019-09-10
    • 2021-01-10
    • 2022-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多