wsgi_mod dosn提供管理静态文件

时间:2016-08-24 18:02:25

标签: django mod-wsgi

我知道这个问题的主题很少,但我还是无法解决它。我有这个结构

/home
  /server
    /server_1
      /static

静态是由collectstatic生成的,我有我所有的静态文件(包括admin / css)

apach conifg中静态文件的别名如下:

Alias /static/ /home/server/server_1/static/
<Directory /home/server/server_1/static/>
  Require all granted
</Directory>

当我正在运行django管理页面时,我可以看到登录面板但没有css但是如果我点击“显示页面来源&#39;我可以看到

<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css" />

我可以点击,我可以看到整个css代码(没有404错误)那么,服务器可以看到这个文件吗?但它可以使用它还是什么?

当我试图打开时:

http://www.my.server.com/static/

我正在

Forbidden

You don't have permission to access /static/ on this server.

我有STATIC_ROOT和STATIC_URL,我可以正确运行collectstatif,但是服务器在渲染时遇到了一些问题。

修改

我刚安装了django-rest-framework和这个服务器以及与css相同的情况。 Css文件在serveradres.com/static/中,我可以通过重定向访问它来访问serveradres.com/static/rest_framework/css/bootstrap.min.css

但是网站仍然会在没有此CSS的情况下呈现页面。

更新

Google Chrome检查员说:

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

2 个答案:

答案 0 :(得分:1)

Apache运行的用户无法看到具有通常由Linux系统在主目录上设置的权限的主目录。建议您将应用程序代码移到主目录之外的Apache用户可以看到的地方。

答案 1 :(得分:0)

我解决了这个问题。我知道 - 这很奇怪,但它是由google chrom中的adblock引起的。当我将其关闭时,它可以正常工作。