私はこれをドキュメントで見つけることができません。 python manage.py collecstatic --no-input
を実行すると、プロセスでポップアップするプロンプトに対して「はい」と応答することになりますか? python manage.py migrate --no-input
も同様です。
Collectstaticの場合:
message.append(
'Are you sure you want to do this?\n\n'
"Type 'yes' to continue, or 'no' to cancel: "
)
if self.interactive and input(''.join(message)) != 'yes':
raise CommandError("Collecting static files cancelled.")
したがって、収集静的の場合、--no-input
interactive
をFalse
に設定し、上記のように、質問にyes
と答えます。
移行の場合、Djangoシグナリングのため、はるかにトリッキーです。migrate
管理自体は質問しませんが、インストールされている他のアプリがpre_migrate_signal
またはpost_migrate_signal
および独自の方法で対話性を処理します。私が知っている最も一般的なものはcontenttypes
です
contenttypes
の場合、--no-input
「いいえ、古いコンテンツタイプは削除しないでください」のように「いいえ」と答えます。
if interactive:
content_type_display = '\n'.join(
' %s | %s' % (ct.app_label, ct.model)
for ct in to_remove
)
ok_to_delete = input("""The following content types are stale and need to be deleted:
%s
Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.
Type 'yes' to continue, or 'no' to cancel: """ % content_type_display)
else:
ok_to_delete = False