【问题标题】:Django admin not serving static files on ApacheDjango 管理员不在 Apache 上提供静态文件
【发布时间】:2017-02-21 13:38:08
【问题描述】:

我见过类似的问题,但它们已经超过 4 年了,而且答案不再适用。我有一个在 Apache 上正常工作的站点,除了管理静态文件。静态文件在 Django 的运行服务器上工作得很好。我有点迷路了,任何建议都会有所帮助。

【问题讨论】:

  • 你在 Apache vhost 上做了collectstatic 吗?
  • @AndreyShipilov 感谢您的回答...运行 python manage.py collectstatic?我做到了。
  • 你看到文件被收集到 STATIC_ROOT 目录中并且那里有一个 admin 目录?
  • @AndreyShipilov 不,那里没有管理目录。
  • 这意味着 collectstatic 没有收集文件。您是否使用不同的 settings.py 进行开发和 Apache 部署环境?

标签: django apache django-staticfiles


【解决方案1】:

当您使用 apache 提供静态文件时,静态文件夹应该在您的 /var/www/html 目录中。我经历了和你一样的场景。 collectstatic 对我不起作用。我所做的是copied static contents of admin app to /var/www/html/static/admin。此管理目录包含四个其他目录css, fonts, img and js。在我的情况下,apache 设置是默认设置,因此 /var/www/html 是我的公共目录。以下可供参考。

server
    |
    -var
       | 
        -www
            |
             -html
                  |
                  - static
                         |
                         -admin
                               |-css
                               |-fonts
                               |-img
                               |-js

您可以尝试上述方法。如果您告知问题已解决,这将很有帮助。

【讨论】:

    【解决方案2】:

    检查以下事项

    1)您是否在设置文件中添加了 STATIC_ROOT?

    2)激活虚拟环境后(如果有的话),你运行了吗

    python manage.py collectstatic
    

    【讨论】:

      猜你喜欢
      • 2012-03-19
      • 2014-07-06
      • 2012-12-01
      • 2018-08-26
      • 1970-01-01
      • 2014-11-24
      • 1970-01-01
      • 2014-10-31
      • 2017-07-18
      相关资源
      最近更新 更多