dis*_*ive 4 python django openshift
我在提供静态文件时遇到问题 - 即我的html页面需要样式表和图像.我似乎无法理解为什么没有找到这些静态图像.这就是我的settings.py
STATIC_URL = PROJECT_PATH + '/static/'
# Additional locations of static files
STATICFILES_DIRS = (PROJECT_PATH + "/static/",)
STATIC_ROOT = "/static/"
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
Run Code Online (Sandbox Code Playgroud)
当我拖入日志时,我收到404错误.但我无法弄清楚在哪里或调试或弄清楚OpenShift在哪里寻找这些图像.我尝试过使用,STATIC_URL = '/static/'但这也不起作用.
1)你混淆了STATIC_URL和STATIC_ROOT变量.
STATIC_ROOT:需要指向您希望收集静态文件的目录.在这种情况下,它似乎是PROJECT_PATH +'/ static /'.确保此目录正确无误.
STATIC_URL:访问静态文件的URL./ static /是正确的.
删除STATICFILES_DIRS变量.它不能与STATIC_ROOT相同,因为它首先告诉Django在哪里寻找静态文件,然后告诉Django在收集静态文件时将它们存储在何处.
2)如果你正在使用Openshift,正如@ timo.rieber指出的那样,你需要一个action_hook for deploy来告诉它收集你的静态文件.
3)您的static_root文件夹不能位于项目的任何位置,因为Openshift webserver无法找到它.它应该在yourproject/wsgi/static <---下(因此,这将是STATIC_ROOT变量值).
正如我已在另一个问题中回答你的问题,从头开始为Openshift开始一个新项目是痛苦的.我写了一篇关于创建一个新项目以使其与Openshift一起工作的帖子,你也可以访问那里引用的提交,它会将你重定向到一个有效的基本Openshift项目.您也可以从Openshift repo下载基本项目,但它遵循旧的(但仍在工作)项目结构.您现在可以为python应用程序使用更简单的项目结构
| 归档时间: |
|
| 查看次数: |
3882 次 |
| 最近记录: |