[解決済み] django シェルでモジュールを再読み込みするには?
2022-11-27 17:49:04
質問
私は Django を使っていて、いつも Django シェルを使っています。厄介なのは、Django サーバはコード変更時に再読み込みしますが、シェルはそうしないので、テスト中のメソッドに変更を加えるたびに、シェルを終了して再起動し、必要なモジュールをすべて再インポートし、必要な変数をすべて再初期化しなければならないなどという点です。iPythonの履歴を使えば、このような入力の手間を省くことができますが、それでもこれは苦痛です。django 開発サーバと同じように、django シェルを自動でリロードさせる方法はありませんか?
reload() については知っていますが、私は多くのモデルをインポートしており、一般的には
from app.models import *
構文を使うので、reload()はあまり役に立ちません。
どのように解決するのですか?
dongweiming氏が述べたように、django-extensionsプロジェクトを使用することをお勧めします。ただし、管理コマンドは 'shell_plus' ではなく、'shell_plus' を使ってください。
manage.py shell_plus --notebook
これでウェブブラウザ上にIPythonのノートブックが開かれます。そこにコードを書き、インポートなどを行い、実行します。
モジュールを変更したら、ノートブックのメニュー項目「Kernel->Restart」をクリックするだけです。
これで、あなたのコードは変更したモジュールを使用するようになりました。
関連
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] pycharmがタブをスペースに自動変換する