我正在尝试在Apache-Server上运行全新的Django 1.5。 WebServer位于名为uberspace.de的共享托管平台上 这意味着我无法访问Apache配置本身我可以编写.htaccess文件,如果这有任何帮助的话。 Django通过fast-cgi部署,正如预期的那样工作。
然而,无法正常工作的是访问服务器上的静态文件,例如Django管理界面的.css文件和图形。 正如official docs中所提到的,我使用以下命令将静态文件复制到我的〜/ html / static目录中。
manage.py collectstatic
这些是我的settings.py中的值:
STATIC_ROOT = '/home/bier/html/static/'
STATIC_URL = '/static/'
当我尝试访问任何这些文件时,我得到的是臭名昭着的django 404页面。 我还按照我的Webhosters网站上的'How to install and deploy Django'指南进行了处理。 (对不起,我认为它只有德语版本) 我已经联系过webhosters支持,但他们不知道什么是错的。
到目前为止,我提出的所有解决方案都建议在Apache配置中设置某种Alias。我不能这样做。
我很感谢您的任何想法。
答案 0 :(得分:2)
请尝试使用完整地址。
STATIC_ROOT = '/home/bier/html/static/'
STATIC_URL = 'http://www.mysite.com/static/'
编辑:也许您可以要求您的主机在Apache配置中设置/ static /:
sudo nano /etc/apache2/sites-enabled/mysite.com
并添加:
Alias /static/ /home/bier/html/static/
我之前遇到过一种情况,我必须手动上传/静态/文件,因为主机具有高度限制(权限)。也许您需要将django的副本下载到桌面,然后手动将静态管理文件集上传到/ static /目录中?
最后,您是否已将静态文件添加到您的网址?
url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root': '/home/bier/html/static'}),
答案 1 :(得分:0)
我有更简单的解决方案。您需要在“ public_html”或类似位置创建一个名为“ x”的目录,默认情况下服务器从该位置提供文件。
然后上传目录x中的所有静态文件。 (这可以通过在本地运行collectstatic然后将目录STATIC_ROOT的所有内容上载到x来完成)
然后,按如下所示更改您的STATIC_URL和STATIC_ROOT:
STATIC_URL = '/x/'
STATIC_ROOT = os.path.join(BASE_DIR, '../public_html/x') # Path to folder