我正在使用 django 注册。我想更新 'django.contrib.auth.forms' 中的 AuthenticationForm。具体来说,我想通过 'attrs' 字典来添加一些属性。如何更新 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 回答