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

form_prefix次に、引数をMyFormView.as_viewurlconfに入れることができると思います。

私が言うように、私はこれを試したことはありませんが、試してみる価値があるかもしれません - うまくいくかどうか教えてください!

于 2011-09-02T08:40:39.933 に答える
1

FormView を希望どおりに動作させるために、FormMixin を変更するパッチを添付して、django でチケットを開きました。

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

于 2012-08-28T23:28:01.457 に答える