尝试在 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
替换为
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2', 'first_name', 'last_name')}
),
)
虽然下面这个代码能够返回结果,但并不好,因为我们正在编辑django的源代码。
所以我在admin.py中编写了以下代码:
from django.contrib.auth.admin import UserAdmin
UserAdmin.add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2', 'first_name', 'last_name')}
),
)
这有点巧妙,但做得很好。