0

私はまだDjangoアプリの開発段階にあります。views.pyを作成する前に、モデルが正しく定義されているかどうかをテストして確認します。これは私が呼び出すことによってターミナルでそれを行います

python manage.py shell

ctrl-Dしかし、非常に頻繁に、シェルを中止してすべてを再入力するように促す構文エラーが発生します。このプロセスは永遠にかかります。私の試用のためだけにこれらすべてをいくつかのファイルに書き込むことができ、すべてがうまくコピーされれば、それはより良いでしょうviews.py

このためのプロセスは何ですか?trial.pyアプリディレクトリにを作成するのと同じくらい簡単ですか。Django envをインポートする必要はありませんか?これを行うための最良の方法は何ですか?

4

6 に答える 6

5

ユニットテストを書くのはどうですか?1つのコマンドで簡単に実行できます。おそらく、テストに関するdjangoマニュアルの章を読むことから始めることができます

于 2010-11-25T18:25:13.093 に答える
2

簡単な実験のために必ずtrial.pyを作成してから、

python manage.py shell

できるよ

>>> import trial

次に、プロンプトから直接、試用中のコードを呼び出します。

trial.myfunc()

変更が必要な場合は、変更したtrial.pyを保存して実行できます。

reload(trial)

もちろん、変更を利用するために、インタラクティブセッションで既存のオブジェクトを再作成する必要がある場合があります。

これは(Janiの回答によると)単体テストを書くことを補完するものと見なされるべきですが、このアプローチは反復的な改良を使用して物事を試すのに役立つと思います。

于 2010-11-25T18:27:59.723 に答える
1

Djangoプロジェクトディレクトリにテスト用ファイルを作成し、プロジェクトへのパスをenv変数に追加します。

import sys
sys.path.append(os.path.realpath(os.path.dirname(__file__)))

その後、プロジェクトから任意のモジュール(たとえば、models.pyからのモデルまたはviews.pyからの関数)をインポートし、そのエディターとシェルでお気に入りのIDEを使用できるようになります。

于 2010-11-25T18:33:10.230 に答える
1

より単純なケースでは、標準コマンドと同様の管理コマンドを含むdjango-extensionsアドオンを使用できますが、すべてのモデルがプリロードされます。shell_plusshell

于 2010-11-25T18:55:09.523 に答える
1

設定に使用するモジュールを設定する必要があります。

于 2010-11-25T18:58:11.820 に答える
0

私も以前にこの問題を抱えていました、

次のような魔法の関数を持つipythonをインストールできるかもしれません。

%保存する。

これにより、入力した内容がファイルに保存されます。

ipythonは非常に魅力的なツールであり、標準のpythonプロンプトの一部を完全に処理できます。他にもすばらしいツールがあります。

また、djangoでは、ipythonをインストールしている場合、python manage.pyシェルを入力すると、

ipythonを直接呼び出します。

于 2010-11-26T13:55:55.203 に答える