2012-08-22 35 views
0

我不确定发生了什么,但是我遵循了我在互联网上发现的关于通过静态文件夹提供媒体文件的一些指南(服务于$ OPENSHIFT_DATA_DIR)通过使用mod_rewrite。现在唯一的问题是,我的管理文件不再得到服务,我正在努力修复它。在openshift上使用.htaccess文件后丢失了django管理静态文件

RewriteEngine On 
RewriteRule ^application/media/(.+)$ /static/$1 [L] 

上述工作适用于由我的用户上传的/ media /文件,但是对于服务的管理文件而言存在巨大问题。他们似乎刚刚停止从/静态/管理/服务。

回答

0

我设法通过在构建文件中添加一些命令来实现这个功能。这将现在将所有管理文件直接复制到/ static/admin中。

它看起来不够干净,但现在会做,直到有人能够对此主题进行改进。

if [ ! -d $OPENSHIFT_REPO_DIR/wsgi/static/admin ]; then 
mkdir $OPENSHIFT_REPO_DIR/wsgi/static/admin 
fi 

cp $OPENSHIFT_GEAR_DIR/virtenv/lib/python2.6/site-packages/Django-1.4.1-py2.6.egg/django/contrib/admin/static/admin $OPENSHIFT_REPO_DIR/wsgi/static/ 
0

您应该在部署时从django运行collectstatic命令。这会将所有应用程序中必要的静态文件复制到适当的目录中。

我有一个django 1.6 github的例子,这样做。这是setttings.py设置和action_hook的组合。

https://github.com/jfmatth/openshift-django16

HTH