Я пытаюсь создать createereruser в контейнере django docker с тканью.
Чтобы создать суперпользователя в django, мне нужно запустить его в интерактивном режиме django:
./manage.py createsuperuser
И потому, что я хочу запустить его в тканью script, поэтому я нахожу эту команду не вводить пароль
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', '[email protected]', 'pass')" | ./manage.py shell
Затем я поставил это вместе с "docker exec" , чтобы запустить его в контейнере django
docker exec container_django echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', '[email protected]', 'pass')" | ./manage.py shell
Проблема заключается в том, что linux pipe, pipe (|) содержит все содержимое слева (включая docker exec) справа (./manage.py shell)
И это не только сложная часть, если учесть, что все эти джунки превращаются в трюк, что означает, что им нужны котировки на обоих концах. Это сделает все очень срочно.
fabric run:
run("docker exec container_django {command to create django super user}")
Я все еще борется за то, как сделать хотя бы нежелательную работу в прогоне, но я не знаю, как это сделать.