【问题标题】:Passing Django form data to frondend framework (DRF)将 Django 表单数据传递给前端框架 (DRF)
【发布时间】:2022-01-24 10:25:27
【问题描述】:

背景

我在这里遇到了一个非常烦人的问题。我决定使用 Svlete 作为我的前端。此外,我的 REST api 中有很多需要表单数据的端点。在过去,我只会在我的应用程序目录中添加 forms.py,然后添加如下表单:

class ProductsModelForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = (
            'name',
            'weight',
        )

class ProductForm(forms.Form):
    name = forms.CharField()
    weight = forms.IntegerField()

然后会使用

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Submit</button>
</form>

在 HTML 模板中。很酷。

DRF + 前端框架

显然我在 forms.py 中仍然有表单,但现在我也必须在前端定义表单。对于更大的表单,它会变得非常烦人,因为我总是必须比较我在 django 后端表单中定义的前端表单中的每个字段。有什么解决办法吗?

【问题讨论】:

    标签: django django-models django-rest-framework django-forms svelte


    【解决方案1】:

    使用 DRF 序列化器。

    DRF 序列化器就像表单一样;他们验证和清理数据。

    表单最适合单体网站。

    【讨论】:

    • 为什么要删除我的最后一行?
    • 我使用序列化器,我只需要将序列化器所需的字段传递给前端框架,我不必在那里指定它。
    • 发表你的意见.py
    猜你喜欢
    • 1970-01-01
    • 2022-09-30
    • 2017-12-31
    • 2017-11-14
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多