0

私はdjango-localityと呼ばれる非常に単純なDjangoアプリケーションを作成しました。これは、国や地域での作業の頭痛の種を取り除きます。国や地域の多くの初期データを提供します。PyPIまでの0.1リリースだけで、現在作業中のプロジェクトにインストールしました。(基本的には、元のプロジェクトで見つけたニーズから作成しました。)

ただし、実行したときsyncdb、からのフィクスチャはインストールされませんでしたlocality。出力では、「フィクスチャが見つかりません」と出力され、テーブルは生成されましたが、データベースに行は追加されませんでした。Djangoに初期データがない理由はありますか?私のデータは、locality/fixtures/initial_data.jsonそれ自体の専用プロジェクトから実行すれば、問題なくインストールされます。setuptoolsを使用して依存関係を管理しているので、zip形式のeggとしてダウンロードした場合と単純なディレクトリレイアウトとしてダウンロードした場合に違いはありますか?


最初は、私のJSONがeggに含まれていなかったようですが、これがsyncdb機能しなかった理由です。今、私はその問題を修正しましたが、syncdbそれでもの器具を見つけることができません。卵をダウンロードして、ここで自分の目で確かめることができます。Djangoが初期データを見逃してしまう理由は考えられません。GitHubでリポジトリを表示することもできます。Djangoがフィクスチャを表示しないのはなぜですか?


実行するsyncdb -v 2と、Djangoが卵を見て、備品を探していることがわかります。

No json fixture 'initial_data' in '/home/rfkrocktk/Desktop/myproject/eggs/django_locality-0.1.1-py2.7.egg/locality/fixtures'.

Djangoが卵から読み取る方法を知らない可能性はありますか?

4

2 に答える 2

1

setup.pyにinitial_data.jsonがpackage_dataとして含まれていないようです。http://docs.python.org/distutils/setupscript.html#installing-package-dataこれは、PyPiからインストールするときに取得できないことを意味します。ディストリビューションのinitial_data.jsonファイル。

sdist個人的には、Djangoアプリのソースディストリビューションを使用する方が簡単だと思います。その場合、マニフェストに含める必要のあるPython以外のファイルを一覧表示できます:http://docs.python.org/distutils/sourcedist.html

于 2011-11-29T21:32:46.650 に答える
1

実は、Djangoはzip形式のeggファイルの内部を調べる方法を知りません。卵ファイルをその名前のディレクトリに抽出するとすぐに、問題は解決しました。

于 2011-11-29T23:25:55.153 に答える