Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Admin Css在使用mod_wsgi部署到apache上时丢失_Django_Apache - Fatal编程技术网

Django Admin Css在使用mod_wsgi部署到apache上时丢失

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

此问题类似于所问的问题和所问的问题。然而,这两个版本的解决方案在当前的Django版本(1.8)中似乎已经过时

我的django项目在开发服务器上运行得非常好。现在我正试图将它部署到生产环境中,唯一的问题是默认django admin视图中引用的css文件没有被正确引用

以下是默认管理员视图试图通过以下方式定位它的内容:

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"