首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Cloud9定位Django模板的位置

使用Cloud9定位Django模板的位置
EN

Stack Overflow用户
提问于 2013-08-10 23:29:51
回答 1查看 463关注 0票数 0

我正在学习Django,刚刚把所有东西都搬到了Cloud9上。我不明白如何在Cloud9上指向我的模板?

在我的本地机器上,我将模板目录设置为/home/user/etc/etc/templates,它工作得很好。当我把它放到Cloud9中的时候,我似乎不能掌握它应该是什么路径?

EN

回答 1

Stack Overflow用户

发布于 2013-08-11 03:03:36

在项目中使用绝对路径和硬编码路径并不是很好,因为您可以在不同的PC或环境中工作。因此,您可以根据settings.py文件定义您的项目路径。将此代码放在settings.py的开头

代码语言:javascript
复制
import os

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

现在,您有了变量PROJECT_DIR,它将指向您在每台PC和每个环境中的Django项目位置。现在,您可以在项目的模板目录或静态文件目录中使用它,如下所示:

代码语言:javascript
复制
#  Like this
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, 'templates'),
)

# Or like this, pointing to one dir UP
TEMPLATE_DIRS += (
    os.path.join(PROJECT_DIR, '../templates'),
)

另外,如果设置文件包含以下行:

代码语言:javascript
复制
TEMPLATE_LOADERS = (
    'django.template.loaders.app_directories.Loader',
)

您的django应用程序将自动在您的应用程序templates目录中查找模板。例如

代码语言:javascript
复制
-apps
    -main_app
        -templates
    -blog_app
        -templates

您的main_app和博客应用程序模板目录将被自动检测,而无需将它们添加到templates_path。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18163401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档