覆盖部署到 Google App Engine 的 Django 应用中的模板
Posted
技术标签:
【中文标题】覆盖部署到 Google App Engine 的 Django 应用中的模板【英文标题】:Overriding templates in Django app deployed to Google App Engine 【发布时间】:2012-12-21 18:07:39 【问题描述】:我正在将 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】:魔鬼在细节中......
问题是由以下原因引起的:
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 中有我的模型目录:-\
【讨论】:
以上是关于覆盖部署到 Google App Engine 的 Django 应用中的模板的主要内容,如果未能解决你的问题,请参考以下文章
将 Meteor 部署到 Google App Engine 2017
如何将新服务部署到 Google App Engine 中的现有应用程序?
如何将 socket.io 部署到 Google App Engine?
将应用程序部署到Google App Engine时出现超时错误
将 Ruby on Rails 应用程序部署到 Google App Engine
Spring Boot 应用在部署到 Google App Engine 时无法连接到 Google Cloud SQL (PostgreSQL)