web-dev-qa-db-fra.com

Comment écrire un script qui fait collectstatic pour django

Je souhaite créer un script de collecte automatique pour mon application Django. J'ai essayé diverses choses mais cela n'a pas fonctionné. Ma dernière tentative consiste à appeler un script attendu dans un script normal:

collectstatic.sh:

python manage.py collectstatic --settings=app.settings_mark &&
./testscript.sh

testscript.sh:

#!/usr/bin/expect -f
spawn testscript.sh
expect "Type 'yes' to continue, or 'no' to cancel:"
send "yes"

Toutefois, la ligne ./testscript.sh ne soit jamais exécutée, car la commande collectstatic attend avant l’entrée. Comment puis-je sauter ça? J'ai aussi essayé de laisser le && mais cela n'a pas fonctionné.

Merci d'avance !

6

Pourquoi ne pas simplement envoyer yes à l'entrée de manage.py:

python manage.py collectstatic --settings=app.settings_mark <<<yes &&
./testscript.sh

Ou:

echo yes | python manage.py collectstatic --settings=app.settings_mark &&
./testscript.sh
5
muru

Tu peux essayer

python manage.py collectstatic --noinput
5
Susaj S Nair