【问题标题】:Django STATIC_URL always points to local directoryDjango STATIC_URL 总是指向本地目录
【发布时间】:2021-01-04 11:50:20
【问题描述】:

我想用 nginx 在不同的主机上提供 django 生成的静态内容。 带有文件的服务器名为“static-server”,我无法使用 django 访问它。

静态文件如下所示:

STATIC_URL = 'http://static-server/static/'

但是错误日志给出了以下路径:

"GET /http:/static-server/static/admin/css/base.css HTTP/1.1" 500 145

django 为什么要在本地寻找文件?我怎样才能避免这种情况?

【问题讨论】:

  • 你没有放完整的 URL 包括域,你只指定 /static/ 部分
  • 那我该如何指定主机呢?
  • 您不必这样做,django 将简单地将 /static/ 附加到您的域以提供静态文件,但请确保您已将静态路径添加到您的根 URL conf urls.py 遵循此@987654321 @
  • 嗯,这不是重点。我在“/opt/static”中生成了静态,然后将该内容复制到“/django/static”中的另一个主机。然后,在 nginx 配置中将“/static”路径植根到“/django/static”。问题是,django 找不到其他主机。

标签: python django nginx static


【解决方案1】:

长话短说,STATIC_URL 不能在不使用额外插件的情况下指向远程目录。

如果您想将 Django 生成的静态内容提供给另一个 Web 服务器(即:Nginx),则它必须位于同一主机中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2014-01-26
    • 2014-12-21
    • 2013-01-21
    • 1970-01-01
    • 2014-02-28
    相关资源
    最近更新 更多