我正在努力让静态文件(CSS)在我的Django站点部署到Openshift上工作。我可以通过将样式信息放在HTML模板中来解决这个问题,但是Django管理站点样式表仍然不会加载。一切都在本地运行,包括关闭调试。
->将静态文件存储在repo/ -> wsgi/ Openshift /下,其中主项目目录也在wsgi/下。
以下是settings.py的相关部分:
ON_OPENSHIFT = True if 'OPENSHIFT_REPO_DIR' in os.environ else False
PROJECT_DIR = os.path.join(os.path.abspath(os.path.dirname(__file__)), os.pardir)
if ON_OPENSHIFT:
STATIC_ROOT = os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi', 'static')
else:
STATIC_ROOT = ''
STATIC_URL = '/static/'
if ON_OPENSHIFT:
STATICFILES_DIRS = (os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi', 'static'))
else:
STATICFILES_DIRS = [os.path.join(PROJECT_DIR, 'static')]我有一个在部署时运行以下内容的脚本:
cd $OPENSHIFT_REPO_DIR/wsgi/squadron
python manage.py collectstatic --noinput我使用的是Python3.3和Django1.6,并参考了文档中的1和2指南。
我做错了什么?我没有收到错误消息,只是没有样式表,无论是我自己的,还是Django admin上的样式表。当我使用SCP时,我可以验证我的样式表是否在正确的Openshift目录中。
发布于 2014-02-04 05:38:42
当你想让OpenShift和Django一起工作时,这是最好的阅读资料。
http://appsembler.com/blog/django-deployment-using-openshift/
其中一些将随着即将发布的版本而改变(变得更好),但目前这应该会有所帮助。
https://stackoverflow.com/questions/21512719
复制相似问题