你如何设计django里面的表格

时间:2011-08-07 22:24:28

标签: python django django-registration

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

2 个答案:

答案 0 :(得分:2)

您可以使用auth附带的视图,并使用您自己的表单覆盖表单参数:

django.contrib.auth.views.login(request[, template_name, redirect_field_name, authentication_form])

更多信息here

答案 1 :(得分:1)

标准方法是继承AuthenticationForm,更改构造函数中的attrs,将表单传递给登录视图并在urls.py中写入新条目。

这是一场噩梦:为了将html属性添加到字段中,必须使用python子类化,以了解django的表单元类的工作原理(self.fields['field'].widget.attrs,而不仅仅是self.field.widget.attrs),知道regexes(对于urls.py),知道django的urls.py是如何工作的(你应该在include('django.contrib.auth.urls')之后放置重写行吗?)并知道从哪里导入auth表单和auth视图。

现在是“商业休息”:只需使用http://pypi.python.org/pypi/django-widget-tweaks来完成任务;)