详解Django的 create_superuser() 函数:创建超级用户

  • Post category:Python

create_superuser()是Django中的一个方法,用于创建一个超级用户。它是在Django自带的UserManager中实现的,可以帮助我们方便地在代码中创建和保存超级用户。

下面是使用方法及说明:

使用方法

首先,需要在代码中引入UserUserManager

from django.contrib.auth.models import User
from django.contrib.auth.models import UserManager

然后,我们可以通过User.objects来调用create_superuser()方法:

user = User.objects.create_superuser(
    username='admin',
    email='admin@example.com',
    password='admin123'
)

create_superuser()方法会返回一个新创建的超级用户的User实例。在创建超级用户时,需要指定的参数包括:

  • username:用户名,必选参数
  • email:邮箱地址,必选参数
  • password:密码,必选参数

说明

下面是两个使用实例:

实例一:创建默认超级用户

在Django应用程序初始化期间,我们通常需要创建一个默认的超级用户,以便配置管理员可以使用它来管理应用程序。我们可以通过以下代码来创建一个超级用户:

from django.contrib.auth.models import User

def create_default_super_user():
    admin = User.objects.create_superuser(
        username='admin',
        email='admin@example.com',
        password='admin123'
    )
    return admin

在此示例中,我们使用create_superuser()方法创建了一个名为“admin”的超级用户。该函数将在应用程序的初始化期间调用。

在调用create_superuser()方法之后,将返回一个User实例,该实例包含新创建的超级用户的详细信息。因此,我们将此信息返回给应用程序以便在其他地方使用。

实例二:在Django shell中使用create_superuser()

我们也可以在Django shell中直接使用create_superuser()方法来创建新的超级用户。

首先,我们需要使用以下命令启动Django shell:

python manage.py shell

然后,我们可以键入以下命令来创建一个新的超级用户:

from django.contrib.auth.models import User

user = User.objects.create_superuser(
    username='admin',
    email='admin@example.com',
    password='admin123'
)

在此示例中,我们使用create_superuser()方法创建了一个名为“admin”的超级用户。我们可以在shell中查看user变量,以确保已创建用户。

print(user)
< User: admin > 

以上是关于create_superuser()方法的说明。