Stackato不提供Django静态文件

时间:2015-04-01 23:00:18

标签: django stackato

我正在向Stackato部署一个Django应用程序。除静态文件外,一切正常。根据文档,这是我在.yml文件中的设置:

processes:
  web: $STACKATO_UWSGI --static-map /static=$HOME/static

这是我的本地setting.py:

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(PROJECT_PATH, "static"),
    '/var/www/static/',
)

此外,这是我的项目结构

Project -- .....
           |
            static -- css
                  |
                   -- images

我没有看到日志中的任何错误。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您的配置应该有效。特别是 static / css static / images 目录中的资源将通过http://your-stackato-host/static/css/yourstyle.css等网址提供。

为帮助解决此问题,我创建了一个bare-bones example on github,您可以克隆并推送到Stackato以验证它是否有效。

答案 1 :(得分:0)

刚想通了:

1.虽然将settings.DEBUG设置为True,但必须包含静态网址格式:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()

2.静态文件应遵循以下结构:

Project -- <app 'Project'> -- settings.py
           |                  |
           |                  -- urls.py
           |                  |
           |                  -- wsgi.py
           |
           -- <app 'somename'> -- ..
                            |
                            -- static -- <app 'somename'> -- css - a.css
                                                          |
                                                          -- images - a.jpg

3. STATIC_ROOT不应该是静态目录的实际位置,可以是这样的:Project/Project/static,而STATICFILES_DIRS必须是Project/somename app/static的实际静态文件目录。 1}}

参考:https://github.com/mozilla/mozmoderator