无法使用 Django 创建超级用户 manage.py
Not able to create super user with Django manage.py
正在尝试为我的数据库创建超级用户:
manage.py createsuperuser
收到一条悲伤的递归消息:
由于未在 TTY 中 运行ning,跳过了超级用户创建。您可以运行 manage.py createsuperuser
在您的项目中手动创建一个。
说真的 Django?认真的吗?
我为此找到的唯一信息是上面列出的信息,但没有用:
Unable to create superuser in django due to not working in TTY
和这里的另一个基本相同:
Can't Create Super User Django
如果您从 Git Bash 运行
$ python manage.py createsuperuser
Superuser creation skipped due to not running in a TTY. You can run manage.py createsuperuser
in your project to create one manually.
并遇到上述错误消息,请尝试附加 winpty
例如:
$ winpty python manage.py createsuperuser
Username (leave blank to use '...'):
为了能够像往常一样在 windows 上执行 运行 python
命令以及我通常做的是将别名行附加到 ~/.profile
文件,即
MINGW64 ~$ cat ~/.profile
alias python='winpty python'
这样做之后,获取 ~/.profile
文件或简单地重新启动终端,初始命令 python manage.py createsuperuser
应该会按预期工作!
我在尝试使用以下命令在 docker 容器中创建超级用户时遇到了同样的问题:
sudo docker exec -i <container_name> sh
。添加选项 -t 解决了问题:
sudo docker exec -it <container_name> sh
要创建管理员用户名和密码,您必须先使用命令:
python manage.py 迁移
然后使用命令后:
python manage.py 创建超级用户
完成这些步骤后,程序会要求您输入:
- 用户名
- 电子邮件
- 密码
有了密码,它不会在您输入时显示,因此看起来就像您没有输入一样,但请忽略它,因为它会要求您重新输入密码。
完成这些步骤后,使用命令:
python manage.py runserver
在浏览器中添加“/admin”,这将带您进入管理站点,然后输入您的新用户名和密码。
我知道怎么做了。我所做的是我去了 VIEWS.py。接下来,我导入了模块 os
。然后我创建了一个名为 createSuperUser(request):
的函数。然后,我创建了一个名为 admin
的变量并将其设置为等于 os.system("python manage.py createsuperuser")
。然后在那之后,returnadmin
。最后,我重新启动了 Django 站点,然后它会在终端提示你。
import os
def createSuperUser(request):
admin = os.system("python manage.py createsuperuser")
return
在 virtualenv 中,要为与 git-bash 相关的 Django 项目创建超级用户,请使用命令:
winpty python manage.py createsuperuser.
我尝试从 Stash 创建超级用户 [App: Pythonista on iOS]
[确保迁移已经完成]
$ django-admin createsuperuser
检查你的 docker-compose.yml 文件并确保你的 django 应用程序被标记为 web服务。
因为 Django 3.0 你可以通过两种方式创建一个没有 TTY 的超级用户
方式 1:在命令行中将值和机密作为 ENV 传递
DJANGO_SUPERUSER_USERNAME=admin2 DJANGO_SUPERUSER_PASSWORD=psw \
python manage.py createsuperuser --email=admin@admin.com --noinput
方式二: 设置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.
正在尝试为我的数据库创建超级用户:
manage.py createsuperuser
收到一条悲伤的递归消息:
由于未在 TTY 中 运行ning,跳过了超级用户创建。您可以运行 manage.py createsuperuser
在您的项目中手动创建一个。
说真的 Django?认真的吗?
我为此找到的唯一信息是上面列出的信息,但没有用: Unable to create superuser in django due to not working in TTY
和这里的另一个基本相同: Can't Create Super User Django
如果您从 Git Bash 运行
$ python manage.py createsuperuser
Superuser creation skipped due to not running in a TTY. You can run manage.py createsuperuser
in your project to create one manually.
并遇到上述错误消息,请尝试附加 winpty
例如:
$ winpty python manage.py createsuperuser Username (leave blank to use '...'):
为了能够像往常一样在 windows 上执行 运行 python
命令以及我通常做的是将别名行附加到 ~/.profile
文件,即
MINGW64 ~$ cat ~/.profile
alias python='winpty python'
这样做之后,获取 ~/.profile
文件或简单地重新启动终端,初始命令 python manage.py createsuperuser
应该会按预期工作!
我在尝试使用以下命令在 docker 容器中创建超级用户时遇到了同样的问题:
sudo docker exec -i <container_name> sh
。添加选项 -t 解决了问题:
sudo docker exec -it <container_name> sh
要创建管理员用户名和密码,您必须先使用命令:
python manage.py 迁移
然后使用命令后:
python manage.py 创建超级用户
完成这些步骤后,程序会要求您输入:
- 用户名
- 电子邮件
- 密码
有了密码,它不会在您输入时显示,因此看起来就像您没有输入一样,但请忽略它,因为它会要求您重新输入密码。 完成这些步骤后,使用命令:
python manage.py runserver
在浏览器中添加“/admin”,这将带您进入管理站点,然后输入您的新用户名和密码。
我知道怎么做了。我所做的是我去了 VIEWS.py。接下来,我导入了模块 os
。然后我创建了一个名为 createSuperUser(request):
的函数。然后,我创建了一个名为 admin
的变量并将其设置为等于 os.system("python manage.py createsuperuser")
。然后在那之后,returnadmin
。最后,我重新启动了 Django 站点,然后它会在终端提示你。
import os
def createSuperUser(request):
admin = os.system("python manage.py createsuperuser")
return
在 virtualenv 中,要为与 git-bash 相关的 Django 项目创建超级用户,请使用命令:
winpty python manage.py createsuperuser.
我尝试从 Stash 创建超级用户 [App: Pythonista on iOS]
[确保迁移已经完成]
$ django-admin createsuperuser
检查你的 docker-compose.yml 文件并确保你的 django 应用程序被标记为 web服务。
因为 Django 3.0 你可以通过两种方式创建一个没有 TTY 的超级用户
方式 1:在命令行中将值和机密作为 ENV 传递
DJANGO_SUPERUSER_USERNAME=admin2 DJANGO_SUPERUSER_PASSWORD=psw \
python manage.py createsuperuser --email=admin@admin.com --noinput
方式二: 设置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.