【问题标题】:Django static files aren't loading and runserver doesn't show 404sDjango 静态文件未加载且 runserver 未显示 404
【发布时间】:2021-06-02 10:18:04
【问题描述】:

我的 django 管理员在我的 django 网站上工作,但静态 css 文件给出 404。我在浏览器网络选项卡中看到了这一点,但在我运行python manage.py runserver 的终端中,我看不到任何请求的输出。这是我在浏览器中看到的:

所以我想我的STATIC_URLSTATIC_ROOT 有问题:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

我运行了python manage.py collectstatic,它创建了一堆包含静态文件的嵌套文件夹。

所以我检查了 runserver 命令的终端输出,希望看到 404。但是在浏览器中得到 404 后,我只能在终端中看到:

$ ./manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
March 03, 2021 - 20:19:44
Django version 3.0.11, using settings 'main.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

所以在这一点上,我不知道如何解决这个问题。为什么我在终端中看不到请求?开发服务器肯定在工作,因为当我停止开发服务器时,网站根本不再加载。

欢迎任何有关如何调试的帮助!

【问题讨论】:

  • Django 不在生产环境中提供静态文件 (DEBUG = False)。
  • 您可以尝试在您的 settings.py 中将 debug 设置为 True Source
  • @WillemVanOnsem - 即使将 DEBUG 设置为 true,我仍然看不到终端中记录了任何请求。
  • 添加这个STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] Docs

标签: python css django static


【解决方案1】:

静态文件在生产和开发中的处理方式不同 如果是开发模式,在settings.py中开启调试模式

如果您在生产中,则需要使用像 apache 这样的服务器。

DEBUG = True

【讨论】:

  • 啊,这解决了。我不知道在开发和生产中情况会有所不同。我发现当我使用 docker-compose 文件加载它时,一切正常..
猜你喜欢
  • 2021-08-08
  • 2021-05-30
  • 2019-08-31
  • 2014-11-12
  • 2021-04-03
  • 2012-01-21
  • 2016-11-06
  • 1970-01-01
相关资源
最近更新 更多