Django Admin Css在使用mod_wsgi部署到apache上时丢失
此问题类似于所问的问题和所问的问题。然而,这两个版本的解决方案在当前的Django版本(1.8)中似乎已经过时 我的django项目在开发服务器上运行得非常好。现在我正试图将它部署到生产环境中,唯一的问题是默认django admin视图中引用的css文件没有被正确引用 以下是默认管理员视图试图通过以下方式定位它的内容:Django Admin Css在使用mod_wsgi部署到apache上时丢失,django,apache,Django,Apache,此问题类似于所问的问题和所问的问题。然而,这两个版本的解决方案在当前的Django版本(1.8)中似乎已经过时 我的django项目在开发服务器上运行得非常好。现在我正试图将它部署到生产环境中,唯一的问题是默认django admin视图中引用的css文件没有被正确引用 以下是默认管理员视图试图通过以下方式定位它的内容: http://localhost/static/admin/css/base.css 我正试图遵循中给出的推荐方法 强烈建议使用django.contrib.staticfil
http://localhost/static/admin/css/base.css
我正试图遵循中给出的推荐方法
强烈建议使用django.contrib.staticfiles来处理
管理文件(以及上一节中概述的Web服务器)
节;这意味着使用collectstatic管理命令
在static_ROOT中收集静态文件,然后配置Web
服务器以在静态\u URL上为静态\u根提供服务)
下面是我的000-default.conf文件的片段
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/testapp/
Alias /static/ /var/www/html/testapp/static
<Directory /var/www/html/testapp/static>
Require all granted
</Directory>
WSGIDaemonProcess sampleapp python-path=/var/www/html/testapp:/var/www /html/testapp/env/lib/python2.7/site-packages
WSGIProcessGroup sampleapp
我已经使用collectstatic命令收集了django admin的静态文件,但是这些文件仍然没有被提供
我无法找出设置的错误
更新
根据@Cheng的评论,我附上apache访问日志中的行
127.0.0.1 - - [27/May/2015:18:36:16 +0530] "GET /static/admin/css/base.css HTTP/1.1" 404 512 "http://localhost/admin/login/?next=/admin/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [27/May/2015:18:36:16 +0530] "GET /static/admin/css/login.css HTTP/1.1" 404 514 "http://localhost/admin/login/?next=/admin/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
工作解决方案
多亏了@Cheng,我找到了解决问题的办法。我进一步阅读了文章,以确认解决方案
请注意,如果在URL路径上包含尾随/字符,则服务器
将需要尾随/以展开别名。同样,如果
如果省略URL路径上的斜杠,则还必须从
文件路径
如果您仔细观察我提供的代码片段,就会发现我错过了文件路径中的尾随斜杠。这更像是Apache配置问题,而不是Django问题。收集静态文件后,是否可以找到复制到静态目录的管理页面的css文件?另外,尝试访问浏览器中的管理员静态文件,如
www.yoursite.com/static/which.css
,您会得到什么错误代码?同一主题:@Cheng是的,我可以在静态目录中找到这些文件。此外,使用浏览器直接访问它也会使404@FreekWiekmeijer,我已经实现了您提供的链接上给出的解决方案,并且在显示的代码段中可见。您的设置中没有设置ADMIN\u MEDIA\u前缀
,对吗?另外,检查你的访问日志,看看日志上写了什么,然后请发布那行日志。我能想到的另一件事是直接链接到django的文件Alias/static/usr/lib/python2.6/site packages/django/contrib/admin/static
(许多其他人都建议这样做),确保调整路径,看看这是否有效。
127.0.0.1 - - [27/May/2015:18:36:16 +0530] "GET /static/admin/css/base.css HTTP/1.1" 404 512 "http://localhost/admin/login/?next=/admin/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
127.0.0.1 - - [27/May/2015:18:36:16 +0530] "GET /static/admin/css/login.css HTTP/1.1" 404 514 "http://localhost/admin/login/?next=/admin/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"