2010-11-23 17 views
5

新しい静的ファイルメカニズムを利用するためにDjango 1.2プロジェクトをDjango 1.3に更新したいと決めました。私は古いバージョンのDjangoを削除し、svnから開発版をインストールするためのドキュメントの指示に従っていました。1.2から1.3へのDjangoプロジェクトの更新manage.pyが正しく動作しない

変更が行われたようです。つまり、python -c "import django; print django.get_version()"は "1.3 alpha 1 SVN-14686"となります。しかし、古いプロジェクトでは1.3の機能を利用することはできません。私が "python manage.py collectstatic --help"を実行すると、 "Unknown command: 'collectstatic'"と表示されます。

私は新鮮なプロジェクトを作成して同じことを試みました。そして、collectstaticコマンドが働きました。私はdjango.core.managementを掘りましたが、本当にそれを理解することはできません。 get_commandsのdocstringは、()言及:

辞書が最初 呼び出しにキャッシュされ、以降の呼び出しで再利用されます。

これはまったく関係がないかもしれませんが、私の問題がキャッシュと何か関係があるかどうかは疑問です。つまり、コマンド・ディクショナリの古いバージョンがキャッシュされています(新しい1.3コマンドはありません)。何かご意見は?

+0

最初に 'python manage.py shell'を実行してバージョンを確認するとどうなりますか? –

+0

@Ignacioバージョンはまだ1.3です。 – Coquelicot

+0

これを試してください: '$ python manage.py shell'そして' import sys; print sys.path'を実行し、新しいプロジェクトの出力と比較します。私は古いプロジェクトが何とか古いバージョンのdjangoを呼び出していると思う。 –

答えて

18

管理コマンドを使用するには、それを提供するアプリケーションをsettings.pyのINSTALLED_APPSに追加する必要があります。 the docsから:

まず、あなたはdjango.contrib.staticfilesがあなたのINSTALLED_APPSであることを確認する必要があります。

これでコマンドを使用できるようになります。

+0

Yikes、どうやってこれを誤解したのですか?本当にありがとう。 – Coquelicot

関連する問題