17

私は Django の初心者で、pip を使用して django-basic-apps をインストールするのに問題があります。

私がこれをしたら...

$ cat requirements.txt 
git+git://github.com/nathanborror/django-basic-apps.git

$ pip install -r requirements.txt

結局lib/python2.6/site-packages/basic/blog、テンプレートディレクトリがありません。

私がこれをしたら...

git clone http://github.com/nathanborror/django-basic-apps.git

最終的にbasic/blogDOES にはテンプレート ディレクトリがあります。

or pipについての何かがdjango-basic-apps原因で、pip経由でインストールできないと思われます。を読めば答えにたどり着くのではないかと思っdjango-basic-appsたのsetup.pyですが、見当たりませんでした。

(pipを使用せずにインストールすると、問題なく動作することを付け加えておきdjango-basic-appsます。)

4

1 に答える 1

28

「pip」を使用して何かをインストールする場合、パッケージsetup.pyはインストールするパッケージを決定するために使用されます。そして、このプロジェクトsetup.pyは、私が正しく読んでいれば、「これらのPythonパッケージをbasicディレクトリ内にインストールするだけです」と言っsetup.pyています。これは、インストールに含める必要のあるPython以外のファイルについてはまったく言及していません。

これは開発者の側で意図的に行われる可能性があります。これは、Djangoパッケージにテンプレートが含まれないのが伝統であるためです。悪名高いことに、組み込みのdjango.contrib.authテンプレートがなく、小さなフォームをゼロから構築できるような基本的なものでもあります。毎回!(または、Web上の他の場所の例からカットアンドペーストします。)

ただし、作成者がどのように設定したかに関係なく、このPythonディストリビューションを使用してテンプレートをインストールする場合は、テンプレートをsetup.py!にリストしてください。まず、次のようなものをsetup.pyファイルに追加します。

template_patterns = [
    'templates/*.html',
    'templates/*/*.html',
    'templates/*/*/*.html',
    ]

次に、最後の1つの変数を呼び出しに追加して、次のsetup()ように終了します。

...
packages=packages,
package_data=dict( (package_name, template_patterns)
                   for package_name in packages ))

これは、すべてのパッケージに、setup()各パッケージのtemplatesディレクトリの下にあるHTMLファイルを検索して見つかったデータファイルを添付する必要があることを示しています。

試してみて、これがあなたのマシンでも機能するかどうか教えてください!

于 2010-09-11T16:01:57.273 に答える