python - 有什么方法可以在 CreateView 表单中创建隐藏表单字段吗?

标签 python django django-forms

有什么方法可以在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 表单执行相同操作?

最佳答案

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

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

然后通过 form_class 属性在您的 View 中使用该表单。

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

关于python - 有什么方法可以在 CreateView 表单中创建隐藏表单字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31161181/

相关文章:

python - 转移到 GPU 时张量类型不匹配

sql - 这就是现代新闻网站处理它的 sql/业务逻辑的方式吗?

Django ModelForms : Display ManyToMany field as single-select

django - 向表单集中的表单添加自定义标题

javascript - Django 表单上的 jQuery 验证插件

python - Pandas - 提取唯一的列组合并在另一个表中对它们进行计数

python - PyCUDA:设备代码中的 Pow 尝试使用 std::pow,失败

python - 如何构建 Flask 用户应用程序?

python - Django 测试运行器不尊重 unittest.TestCase?

django - 在模板标签的引号中插入变量