无法使用 Django manage.py 创建超级用户

试图为我的数据库创建一个超级用户:

manage.py createsuperuser

得到一个可悲的递归消息:

超级用户创建由于没有在 TTY 中运行而跳过。可以在项目中运行 manage.py createsuperuser手动创建一个。

真的吗,姜戈,真的吗?

我找到的唯一信息就是上面列出的那条,但它不起作用: 由于不能在 TTY 中工作,无法在 django 中创建超级用户

这里的另一个,基本上是一样的: 不能创建超级用户 Django

69343 次浏览

如果运行 < pre > $python management. py createsuperuser 超级用户创建由于没有在 TTY 中运行而跳过。可以在项目中运行 manage.py createsuperuser手动创建一个。 from Git Bash,面对上面的错误消息,尝试附加 winpty,例如:

$ winpty python manage.py createsuperuser
Username (leave blank to use '...'):

为了能够像往常一样在窗口上运行 python命令,我通常要做的就是在 ~/.profile文件后面添加一个别名行,即。

 MINGW64 ~$ cat ~/.profile
alias python='winpty python'

这样做之后,要么源 ~/.profile文件,要么简单地重新启动终端和初始命令 python manage.py createsuperuser应该按预期工作!

我在使用命令在 docker 容器中创建超级用户时遇到了同样的问题: 增加选项 -t 解决了这个问题:

sudo docker exec -it <container_name> sh

要创建管理用户名和密码,必须首先使用以下命令:

Python management

然后使用以下命令:

Py 创建超级用户

一旦这些步骤完成,程序将要求您输入:

  • 用户名
  • 电子邮件
  • 密码

使用密码时,它不会在您输入时显示,因此它看起来好像您没有输入,但是忽略它,因为它会要求您输入密码。 完成这些步骤后,请使用以下命令:

Py runserver

在浏览器中添加“/admin”,它将带您到管理站点,然后键入您的新用户名和密码。

我知道怎么做了。我只是去了 VIEWS.py。接下来,我导入了模块 os。然后我创建了一个名为 createSuperUser(request):的函数。然后,我创建了一个名为 admin的变量,并将其设置为 os.system("python manage.py createsuperuser")。然后,返回 admin。最后,我重新启动了 Django 站点,然后它将在终端中提示您。

import os


def createSuperUser(request):
admin = os.system("python manage.py createsuperuser")
return

在 viralenv 中,要为与 git-bash 相关的 Django 项目创建超级用户,请使用以下命令:

winpty python manage.py createsuperuser.

我尝试从 Stash [ App: Pythonista on iOS ]创建超级用户

[确保迁移已经完成]

$ django-admin createsuperuser

检查您的 码头作曲文件,并确保您的 django 应用程序在服务下标记为

由于 姜戈3.0,您可以通过两种方式创建一个没有 TTY 的超级用户

方法1 : 将值和机密作为 ENV 在命令行中传递

    DJANGO_SUPERUSER_USERNAME=admin2 DJANGO_SUPERUSER_PASSWORD=psw \
python manage.py createsuperuser --email=admin@admin.com --noinput

方法2 : 设置 DJANGO _ SUPERUSER _ PASSWORD 为环境变量

# .admin.env
DJANGO_SUPERUSER_PASSWORD=psw


# bash
source '.admin.env' && python manage.py createsuperuser --username=admin --email=admin@admin.com --noinput

输出应该是 : Superuser created successfully.