【问题标题】:Django - Loading templates from different project folder?Django - 从不同的项目文件夹加载模板?
【发布时间】:2009-12-22 00:41:23
【问题描述】:

问题:Beta 站点正在从主站点模板文件夹中提取, 下面是站点文件夹结构的骨架结构 - store 是 DOMAIN.com 的托管项目目录 beta/store 转到 beta.DOMAIN.com

网站托管

目录结构

Project/
  apache
    site.wsgi
  beta
    apache
      site.wsgi
    logs
    store
      [APPS]
      media
      templates
  logs
  store
    [APPS]
    media
    templates

settings.py(相关部分)

import os

DIRNAME = os.path.dirname(__file__)

TEMPLATE_DIRS = (
    os.path.join(DIRNAME, 'templates/'),
)

来自 PROJECT/beta/store 的控制台

>>> from django.conf import settings
>>> settings.DIRNAME
'/home/python/mykornhole/beta/store'
>>> settings.TEMPLATE_DIRS
('/home/python/mykornhole/beta/store/../store/templates/',)
>>> 

问题:如何让 beta 站点从正确的目录呈现模板?

控制台显示 TEMPLATE_DIRS 目录是正确的,但是当我从 /PROJECT/store/templates 更改模板上的某些内容时,当我更改 /PROJECT/beta/store 时,它​​会呈现在 beta 页面上/templates 模板被忽略

第一个媒体文件夹和其他文件夹正在显示更新,请注意模板...

有什么想法吗?

【问题讨论】:

  • 您能否再描述一下您的问题。我不清楚。是否要从主应用加载 Beta 版应用的模板?
  • @luc -- 我认为问题在于控制台的第二行到最后一行应该是 ('/home/python/mykornhole/beta/store/templates/',),而不是 ' ../store'.
  • 您能把您的问题说得更清楚些吗?
  • 正如其他人所说,问题是什么?
  • 我定义了问题,我怎样才能让它从正确的目录渲染模板,反之亦然,为什么它从另一个项目目录加载模板?

标签: django apache


【解决方案1】:

我认为这种混淆可能与将您的测试版网站作为生产(?)网站的子目录有关。

DIRNAME 的值是什么? '/home/python/mykornhole/beta/store/../store/templates/' 的 TEMPLATE_DIRS 值似乎表明 DIRNAME 是 '/home/python/mykornhole/beta/store/../store/',感觉不对。

我建议将来将 beta 版和生产版保存在完全独立的目录树中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2017-04-20
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    相关资源
    最近更新 更多