django-registrationを使用しています。'django.contrib.auth.forms'のAuthenticationFormを更新したいのですが。具体的には、'attrs' dictを渡して、いくつかの属性を追加したいと思います。djangoに付属のフォームを更新するにはどうすればよいですか?
質問する
278 次
2 に答える
2
authに付属するビューを使用して、formパラメーターを独自のフォームでオーバーライドできます。
django.contrib.auth.views.login(request[, template_name, redirect_field_name, authentication_form])
詳細はこちら。
于 2011-08-07T22:42:29.163 に答える
1
標準的な方法は、AuthenticationFormをサブクラス化し、コンストラクターでattrsを変更し、フォームをログインビューに渡して、urls.pyに新しいエントリを書き込むことです。
これは悪夢です。フィールドにhtml属性を追加するには、Pythonサブクラス化を使用し、djangoのフォームメタクラスがどのように機能するか(self.fields['field'].widget.attrs
だけでなくself.field.widget.attrs
)、正規表現(urls.pyの場合)、djangoのurls.pyは機能し(オーバーライド行を前後に配置する必要がありますinclude('django.contrib.auth.urls')
か?)、認証フォームと認証ビューがどこからインポートされたかを知ることができます。
そして今、「コマーシャルブレイク」:あなたのタスクにはhttp://pypi.python.org/pypi/django-widget-tweaksを使用してください;)
于 2011-08-07T23:00:07.813 に答える