新しい静的ファイルメカニズムを利用するために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コマンドはありません)。何かご意見は?
最初に 'python manage.py shell'を実行してバージョンを確認するとどうなりますか? –
@Ignacioバージョンはまだ1.3です。 – Coquelicot
これを試してください: '$ python manage.py shell'そして' import sys; print sys.path'を実行し、新しいプロジェクトの出力と比較します。私は古いプロジェクトが何とか古いバージョンのdjangoを呼び出していると思う。 –