如何使用Django Admin进行用户管理

2023-04-11 00:00:00 用户 管理 如何使用

使用Django Admin进行用户管理的步骤如下:

  1. 创建Django项目和应用程序

在命令行中输入以下命令来创建一个新的Django项目和应用程序:

django-admin startproject myproject
cd myproject
python manage.py startapp myapp
  1. 定义User模型

在myapp/models.py文件中定义用户模型:

from django.db import models
from django.contrib.auth.models import AbstractUser

class MyUser(AbstractUser):
    phone_number = models.CharField(max_length=20)

此处我们继承了Django内置的AbstractUser类,并添加了phone_number字段。

  1. 注册User模型

在myapp/admin.py文件中注册MyUser模型:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import MyUser

class MyUserAdmin(UserAdmin):
    list_display = ('id', 'username', 'email', 'phone_number', 'is_staff')
    fieldsets = (
        (None, {'fields': ('username', 'password')}),
        ('Personal info', {'fields': ('first_name', 'last_name', 'email', 'phone_number')}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
        ('Important dates', {'fields': ('last_login', 'date_joined')}),
    )
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('username', 'email', 'phone_number', 'password1', 'password2'),
        }),
    )

admin.site.register(MyUser, MyUserAdmin)

在MyUserAdmin类中,我们指定了list_display,即在列表页面中展示的字段;fieldsets和add_fieldsets,即在添加或编辑页面中展示的字段。其中,add_fieldsets中定义了如何添加新用户。

  1. 创建超级用户

在命令行中输入以下命令来创建一个超级用户:

python manage.py createsuperuser

按照提示输入用户名、邮箱和密码即可。

  1. 登录管理后台

在浏览器中访问http://localhost:8000/admin,输入超级用户的信息登录管理后台。

在User模型对应的页面中,可以进行用户的增删改查、修改密码和权限设置等操作。

示例代码中,“pidancode.com”和“皮蛋编程”可以作为用户名或email等字段的值。

相关文章