【问题标题】:Django : Page Not Found when trying to access static filesDjango:尝试访问静态文件时找不到页面
【发布时间】:2022-01-07 04:22:07
【问题描述】:

我知道这个话题已经有好几个话题了。我已经解决了大部分问题(尤其是this one 中列出的所有故障排除),但我无法弄清楚我的问题。

我正在尝试在我的 Django 项目中使用 Bootstrap 模板,我想从访问 /static/ 目录中的文件开始。我的项目目录如下所示:

每当我尝试加载页面 http://localhost:8000/static/theme/assets/css/style.css 时,它都会返回 Page not found 错误(显然我的索引上没有出现 CSS/JS 内容)。

这是我的设置:

  • 我有debug = True
  • ÌNSTALLED_APPS 包含 django.contrib.staticfiles
  • settings.py 看起来像这样:
STATIC_URL = "/static/"
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/"),)

但我仍然无法访问 /static/ 目录中的任何内容。 我尝试以这种方式访问​​ base.html 中的 CSS 和 JS 文件:

{% load static %}
...
<link href="{% static 'theme/assets/css/style.css' %}" rel="stylesheet">

我真的不知道如何解决这个问题。

提前感谢您的帮助!

【问题讨论】:

标签: django django-staticfiles


【解决方案1】:

base.html 是否通过 URL dispatcher 正确绑定到 URL 和视图函数?您可以从浏览器访问该文件吗?

如果是,请尝试替换此行

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/"),)

这个

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)

【讨论】:

  • 好吧,index.html 绑定到一个 URL,这要归功于 path("", views.index, name="index")base.htmlindex.html 内部调用 {% extends 'base.html' %}。我曾尝试删除 / 但遗憾的是没有效果
  • 尝试将图像放在static 内的文件夹img 中,将其放在base.html&lt;img src="{% static 'img/&lt;my_image_name&gt;.&lt;image_extention&gt;' %}"&gt; 中,看看它是否出现在您的浏览器中
  • 尝试检查浏览器的控制台日志
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 2016-03-30
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 2014-11-10
相关资源
最近更新 更多