1

django プロジェクトを webfaction にデプロイしようとしていますが、サーバーがテンプレート フォルダーを認識しないという問題に悩まされています。

PROJECT_DIR = os.path.dirname((os.path.dirname((os.path.dirname(__file__)))))

    TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR,'templates'),
   )

httpd.conf の python パス:

 python-path=/home/wadadaaa/webapps/promo_site/myproject:/home/wadadaaa/webapps/promo_site/lib/python2.7

そして、私には例外があります:

Exception Type: TemplateDoesNotExist
Exception Value: index.html 

Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/home/wadadaaa/webapps/promo_site/templates/index.html (File does not exist)

それを修正する方法はありますか?

4

1 に答える 1

0

WebFaction にデプロイするとき、プロジェクトの親ディレクトリを python_path に追加します。

python-path=/home/wadadaaa/webapps/promo_site:/home/wadadaaa/webapps/promo_site/myproject:/home/wadadaaa/webapps/promo_site/lib/python2.7

Django 1.5.x を使用している場合、TEMPLATE_DIRS、STATIC_ROOT などのディレクトリ パスを「マップ」する一般的な方法は、関数を使用してそれらを計算することです。これは、これらのファイルへのパスが開発者ごとに異なる複数のマシンまたはグループで作業している場合に特に便利です。

# settings.py
import os

def map_path(directory_name):
    return os.path.join(os.path.dirname(__file__),
        '../' + directory_name).replace('\\', '/')
...

TEMPLATE_DIRS = (
    map_path('templates'),
)

プロジェクト構造が次の場合、これはテンプレート ディレクトリをマップする便利な方法です。

my_app/
    my_app/
        __init__.py
        settings.py
        ...

    a_module/
        __init__.py
        models.py

    templates/
        layouts/
            base.html

        index.html
        ...
于 2013-10-21T11:56:53.340 に答える