:外部PythonスクリプトでDjangoシェルでコードを実行するには?私が達成したい何
私はCLIからデータベースにDjangoのユーザを無効にするPythonスクリプトを作成したいと思います。私はこれを思いついた:
$ sudo python manage.py shell
>>> user = User.objects.get(username=FooBar)
>>> user.is_active = False
>>> user.save()
>>> exit()
上記のコードは私が手作業でコマンドを入力したときに働いています。しかし、私は
$ sudo python script.py
今、私が試したdiffirentのように1の.pyスクリプト内のコマンドを実行入れたいaproaches:
os.system("command1 && command2 && command3")
subprocess.Popen("command1 && command2 && command3", stdout=subprocess.PIPE, shell=True)
問題:
これは機能しません。 私はだと思います。Pythonは開かれたDjangoシェル(最初のコマンド)が終了するまで待ちません。スクリプト内の残りのコマンドは、最初のコマンドが保留になるので実行されません。
subprocess.popen
はシェルでコマンドを実行できますが、Pythonシェルでのみ実行できます。私はDjangoシェルを使いたいと思います。
カスタムコードの実行のために.pyスクリプトを使ってDjangoシェルにアクセスする方法はありますか?
どのように実行しますか? – falsetru