1

我正在使用 django 注册。我想更新 'django.contrib.auth.forms' 中的 AuthenticationForm。具体来说,我想通过 'attrs' 字典来添加一些属性。如何更新 django 附带的表单?

4

2 回答 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 回答