2014-03-24 45 views
0

我应该在哪里放置所有静态资产进行部署?目前我有这在我的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

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

在您的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

+0

https://docs.djangoproject.com/en/1.6/howto/deployment/ – broinjc

+0

为什么我要TEMPLATE_LOADERS ? – broinjc

+0

django.template.loaders.app_directories.Loader 从文件系统上的Django应用程序加载模板。对于INSTALLED_APPS中的每个应用程序,加载器查找模板子目录。如果该目录存在,Django将在其中查找模板。 ---很抱歉第一次误解了你的问题 – Shaun