【问题标题】:Django static files not loading for all pages except index pageDjango静态文件未加载除索引页面外的所有页面
【发布时间】:2019-06-25 03:14:56
【问题描述】:

我在 django 的一个博客网站上工作,我可以在那里写文章。 在开发时,我同时在 pythonanywhere.com 上托管它 在开发服务器中,一切正常,但部署后,我面临一个奇怪的问题。我的静态文件正在为主页加载,但为所有剩余页面提供错误 404。

在调试时,我发现对于主页它搜索路径 www.asdf.pythonaywhere.com/static 中的文件,这是正确的 但是对于说“www.asdf.pythonaywhere.com/article/1/”的页面,它会在“www.asdf.pythonaywhere.com/article/1/static”中搜索不正确的静态文件。 我在互联网上到处搜索,但找不到答案。

这是我的设置:

STATIC_URL = '静态/' STATIC_ROOT = '静态/'

这就是我所说的静态文件:

<link href="{% static "vendor/bootstrap/css/bootstrap.min.css" %}" rel="stylesheet">

【问题讨论】:

  • 您是否在每个使用静态的模板顶部添加了{% load staticfiles %}
  • 是的,我在顶部使用 {% load static %}

标签: django django-static


【解决方案1】:

我猜问题是您正在为您的 static_url 和 root 使用相对寻址。改成这样:

STATIC_URL = '/static/'
STATIC_ROOT = '/static/'

在静态网址前添加“/”

【讨论】:

  • 天哪,它成功了!我为此挠了一个小时。那么,如果前面没有'/',Django 是否会将路径视为相对路径?
  • 这不是 django。那是html。如果你没有在你的路径之前放任何 / ,它将被添加到当前的 url 路径中(这就是相对路径:)
  • 非常感谢!
  • 任何时候我的朋友。
猜你喜欢
  • 2022-01-04
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 2015-03-05
  • 2010-11-10
  • 2020-12-08
  • 1970-01-01
相关资源
最近更新 更多