您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Docker容器中创建django超级用户而无需输入密码

在Docker容器中创建django超级用户而无需输入密码

我建议添加一个新的管理命令,如果不存在用户,该命令将自动创建一个超级用户

查看我在https://github.com/dkarchmer/aws-eb-docker- django创建的小示例。特别是,请看我如何python manage.py initadmin运行:

class Command(BaseCommand):

    def handle(self, *args, **options):
        if Account.objects.count() == 0:
            for user in settings.ADMINS:
                username = user[0].replace(' ', '')
                email = user[1]
                password = 'admin'
                print('Creating account for %s (%s)' % (username, email))
                admin = Account.objects.create_superuser(email=email, username=username, password=password)
                admin.is_active = True
                admin.is_admin = True
                admin.save()
        else:
            print('Admin accounts can only be initialized if no Accounts exist')

(请参阅身份验证/管理/命令)。

您可以看到Dockerfile然后如何仅运行CMD到runserver.sh,该文件基本上可以运行

python manage.py migrate --noinput
python manage.py initadmin
python manage.py runserver 0.0.0.0:8080

显然,这是假定管理员在服务器启动后立即更改密码。这可能对您来说不够好。

Go 2022/1/1 18:40:12 有511人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶