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

Django从批处理文件创建超级用户,django,batch-file,cmd,command-prompt,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 现在,这会提示我输入密码,然后确认密码。我可以使用来自同一批处理

我试图创建一个运行syncdb的批处理文件来创建一个数据库文件,然后创建一个超级用户,用户名为“admin”,密码为“admin”

到目前为止,我的代码是:

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

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

由于您似乎无法为
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
从Django 3.0(per)开始,您可以使用
createsuperuser--no input
选项,并使用
Django_SUPERUSER_password
环境变量设置密码,例如

DJANGO_SUPERUSER_PASSWORD=my_password ./manage.py createsuperuser \
    --no-input \
    --username=my_user \
    --email=my_user@domain.com
或者,使用所有环境变量:

DJANGO_SUPERUSER_PASSWORD=my_password \
DJANGO_SUPERUSER_USERNAME=my_user \
DJANGO_SUPERUSER_EMAIL=my_user@domain.com \
./manage.py createsuperuser \
--no-input

如果这是一个良好的实践,那么您使用的是自定义用户(本例中为CustomUser)


我尝试了你的建议,但它仍然提示我输入密码,就好像回声没有输入密码一样。我的错误,这可能是不可能的,因为它是一个密码。我已经用其他东西更新了我的答案,你可以试着想知道他们什么时候会改变这一混乱局面,如果有一天能做得好的话这一定是在初始状态测试python应用程序最有用的黑客应该是DJANGO_SUPERUSER_USERNAMESure,看起来编辑器改变了这一点
echo "from django.contrib.auth import get_user_model; CustomUser = get_user_model();  CustomUser.objects.create_superuser('me', 'nt@example.co.uk', 'mypwd')" | python manage.py shell