Django从批处理文件创建超级用户

时间:2014-11-16 23:43:40

标签: django batch-file cmd command-prompt

我尝试创建一个运行syncdb的批处理文件来创建数据库文件,然后使用用户名" admin"创建一个超级用户。和密码" admin"。

到目前为止我的代码:

python manage.py syncdb --noinput
python manage.py createsuperuser --username admin --email admin@exmaple.com 
python manage.py runserver

现在提示我输入密码,然后确认密码。我是否可以使用同一批处理文件,另一个批处理文件中的命令输入此信息,或者这是不可能的?

4 个答案:

答案 0 :(得分:14)

由于您似乎无法使用echo ''stuff | cmd提供密码,我看到的唯一方法是在Python中创建密码:

python manage.py syncdb --noinput
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'pass')" | python manage.py shell
python manage.py runserver

答案 1 :(得分:1)

答案 2 :(得分:0)

从Django 3.0开始,您可以使用默认的createsuperuser --noinput命令并将所有必填字段(包括密码)设置为环境变量DJANGO_SUPERUSER_PASSWORDDJANGO_SUPERUSER_USERNAMEDJANGO_SUPERUSER_EMAIL--noinput标志是必需的。

这来自原始文档:https://docs.djangoproject.com/en/3.0/ref/django-admin/#django-admin-createsuperuser

我刚刚检查了它-可以。现在,您可以轻松导出这些环境变量,并将createsuperuser添加到脚本和管道中。

答案 3 :(得分:0)

如果按照惯例,您正在使用自定义用户(在本例中为CustomUser)

stdlib