在何处放置模板和静态资产以进行部署

时间:2014-03-24 17:48:01

标签: django

我应该将所有静态资产放在哪里进行部署?目前我在settings.py

中有这个
if DEBUG:
    MEDIA_URL = '/media/'
    STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static", "static_only")
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static", "media")
    STATICFILES_DIRS = (
        os.path.join(os.path.dirname(BASE_DIR), "static", "static"),
    )

这是我本地计算机上的目录结构:

├── env       
├── src    
|   ├── esp_project
|   ├── reports
|   └── templates
|       ├── registration
|       └── reports
└── static
    └── static
        └── css
        ├── js
        └── img

从我理解的文档中,它们应该由apache2提供,而不是由python提供。有人可以澄清一下吗?模板,那些在“正确”的地方呢?

1 个答案:

答案 0 :(得分:1)

对于模板,您可以在主静态目录中创建一个新文件夹。

在settings.py中,您可以像这样设置路径。

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__), 'static', 'templates'),
    )

您还可以在settings.py中添加模板加载器。

TEMPLATE_LOADERS = (

    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',

)

现在Django将在static/static/templates中查找您的模板(这些是静态文件)。

其余部分看起来不错,请确保STATIC_URL = '/static/'

以上if Debug:

请参阅:Django Project Loading Templates