自動化無しに生活無し

WEBとかAIとかLinux関係をひたすら書く備忘録系ブログ

Djangoのインタラクティブシェルを使う【python3 manage.py shell】

thumbnail

Djangoに含まれているライブラリを普通のPythonのインタラクティブシェルで動かそうとしても、manage.pyの環境変数やsettings.pyが無ければ動かない。

だから、Django関係のライブラリを試しに動かしたい時は、

python3 manage.py shell

とする。

用途

Djangoに含まれるライブラリの動作検証

例えば、django.utils.timezoneなどはPythonのインタラクティブシェルでは動作しない。予め

python3 manage.py shell

を実行した上で、timezoneをimportする必要がある。

from django.utils import timezone

timezone.now()

この時、settings.pyUSE_TZが参照される。

DBへデータ挿入

Django公式のチュートリアルではシェルを使って、直接DBへデータを挿入している。

https://docs.djangoproject.com/ja/3.2/intro/tutorial02/#playing-with-the-api

とはいえ、こんなことをしなくてもDBにデータを挿入する方法なら他にもある。

例えば、admin.pyにて、モデルを登録して管理サイトからデータを挿入するとか、予めjsonで作っておいたデータをリストアするとか。

スポンサーリンク

シェアボタン

Twitter LINEで送る Facebook はてなブログ