2

如何在 Django 1.3 中使用新的基于类的通用视图设置表单前缀关键字?设置前缀可防止呈现的 HTML 中出现重复的 id。这是针对表单 API 的文档。

由于我使用 AJAX 加载了几种不同的表单,因此我遇到了重复标签的问题。

4

2 回答 2

7

我看到你的问题了!您正在尝试使用FormView,它允许您指定form_class,但不能指定前缀。

我还没有尝试过,但我建议子类FormView化,或者你正在使用的任何东西,并覆盖get_form_kwargs添加前缀的方法。

你可以这样做:

class MyFormView(FormView):
    form_prefix = None

    def get_form_kwargs(self):
        kwargs = super(FormView, self).get_form_kwargs()
        if self.form_prefix:
            kwargs.update({'prefix': self.form_prefix})
        return kwargs

然后,我认为,您将能够在您的 urlconfform_prefix中输入参数。MyFormView.as_view

正如我所说,我还没有尝试过,但它可能值得一试——让我知道它是否有效!

于 2011-09-02T08:40:39.933 回答
1

我在 django 中打开了一张票,并附加了一个补丁,它修改了 FormMixin,以使 FormView 的行为如你所愿。

https://code.djangoproject.com/ticket/18872

于 2012-08-28T23:28:01.457 回答