覆盖部署到Google App Engine的Django应用程序中的模板

时间:2013-01-07 23:04:05

标签: django google-app-engine django-admin

我正在将一个Django应用程序部署到Google App Engine。该应用程序使用here描述的技术为Django管理应用程序使用了许多自定义模板。在我的本地机器上这很好用。

Google App Engine上部署的应用似乎忽略了此机制,因为GAE版本未使用我的自定义模板。

我在settings.py中有模板加载器:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

我在setting.py中设置了模板目录:

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    ROOT_PATH + os.sep + "templates",
)

ROOT_PATH = os.path.dirname(__file__)的位置,也在settings.py中定义。

Python:2.7,Django:1.4使用Google Cloud SQL。我使用Grappelli并使用Grappelli版本的模板来覆盖本地版本。

为什么我的应用在GAE上忽略了自定义模板?

1 个答案:

答案 0 :(得分:2)

魔鬼在细节......

问题是由以下原因造成的:

Note, that the admin app will lowercase the model name when looking
for the directory, so make sure you name the directory in all lowercase
if you are going to run your app on a case-sensitive filesystem.

我在CamelCase中有我的模型目录: - \