Django をコマンドから実行
つぎのようなことがしたい。
$ python -c "print('ドナルドデイズ')"
方法1.Django 外部からでも呼び出せるように設定する。
Not like that. But it is easy enough to write a standalone script for Django.
python - Executing a Django Shell Command from the Command Line - Stack Overflow
リンク先では、4つくらい方法が示されている。
1. Set DJANGO_SETTINGS_MODULE before you run
2. Use setup_environ()
3. ...
4. ...
1. Set DJANGO_SETTINGS_MODULE before you run では、環境変数に DJANGO_SETTINGS_MODULE を指定する方法を述べている。Django の設定 — Django v1.0 documentation
この方法を採用する時は、 sys.paty.append(自分のプロジェクトファイルへのパス) もしないと行けない様子。
方法2.パイプで渡す。
echo "print 'hello world'" | python manage.py shell
方法3.ファイルを読み込ませる。
python manage.py shell < data.py
Executing Python script from Django shell - Stack Overflow
What is an alternative to execfile in Python 3.0? - Stack Overflow