Stackato 不为 Django 静态文件提供服务
Stackato not servering Django static files
我正在将 Django 应用程序部署到 Stackato。除静态文件外,一切正常。根据文档,这是我在 .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
我没有从日志中看到任何错误。有什么想法吗?
您的配置应该有效。具体来说,您的 static/css 和 static/images 目录中的资产将通过 http://your-stackato-host/static/css/yourstyle.css.[= 等网址提供。 12=]
为了帮助解决这个问题,我创建了一个 bare-bones example on github,您可以克隆它并推送到 Stackato 以验证它是否正常工作。
刚弄明白:
1.While settings.DEBUG 设置为 True,必须包含静态 url 模式:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
2.Static 文件应遵循以下结构:
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
我正在将 Django 应用程序部署到 Stackato。除静态文件外,一切正常。根据文档,这是我在 .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
我没有从日志中看到任何错误。有什么想法吗?
您的配置应该有效。具体来说,您的 static/css 和 static/images 目录中的资产将通过 http://your-stackato-host/static/css/yourstyle.css.[= 等网址提供。 12=]
为了帮助解决这个问题,我创建了一个 bare-bones example on github,您可以克隆它并推送到 Stackato 以验证它是否正常工作。
刚弄明白:
1.While settings.DEBUG 设置为 True,必须包含静态 url 模式:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
2.Static 文件应遵循以下结构:
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