【问题标题】:Is any way to create hidden form field in CreateView form?有什么方法可以在 CreateView 表单中创建隐藏的表单字段?
【发布时间】:2015-07-01 12:22:11
【问题描述】:

有什么方法可以在 CreateView 表单中创建隐藏的表单域?

class CommentAdd(AjaxableResponseMixin, CreateView):
    model = Comment
    fields = ['author_name', 'text']
    success_url = '/thanks/'
    template_name = 'tree.html'

我必须将一些数据(评论的父级)传递给数据库。它适用于 ModelForm,我将带有 JS 的父级传递给隐藏字段:

widgets = {'parent': widgets.HiddenInput}

如何对 CreateView 表单做同样的事情?

【问题讨论】:

标签: python django django-forms


【解决方案1】:

定义一个包含隐藏输入的模型表单类。

class CommentForm(ModelForm):
    class Meta:
        model = Comment
        fields = ('author_name', 'text', 'parent')
        widgets = {
            'parent': forms.HiddenInput,
        }

然后使用form_class 属性在您的视图中使用该表单。

class CommentAdd(AjaxableResponseMixin, CreateView):
    form_class = CommentForm
    ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 2012-03-31
    • 2017-05-24
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多