尝试在admin/auth/user/add/
添加用户。 您将看到弹出式窗体中显示的用户名和密码。 创建用户后,您将被重定向到创建的用户,您可以在其中填写其他信息。
看Django管理模板来源:
{% block form_top %}
{% if not is_popup %}
<p>{% trans "First, enter a username and password. Then, you'll be able to edit more user options." %}</p>
{% else %}
<p>{% trans "Enter a username and password." %}</p>
{% endif %}
{% endblock %}
它告诉我们,在默认情况下,你可以创建对象后添加更多的信息。
这里也有形式: django.contrib.auth.forms.UserChangeForm
和django.contrib.auth.forms.UserCreationForm
它告诉我们的一样。
在django.contrib.auth.admin.UserAdmin通过
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2', 'first_name', 'last_name')}
),
)
更换add_fieldsets
给出结果,但它是不好的,因为我们的Django的编辑烃源代码。
所以我admin.py我写了这个:
from django.contrib.auth.admin import UserAdmin
UserAdmin.add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2', 'first_name', 'last_name')}
),
)
这是一个有点哈克,但这样做的东西很好。