为啥即使我设置了 STATIC_ROOT 和 urls.py 也会出现 404 错误

Posted

技术标签:

【中文标题】为啥即使我设置了 STATIC_ROOT 和 urls.py 也会出现 404 错误【英文标题】:Why 404 error occurs even though I have set STATIC_ROOT and urls.py为什么即使我设置了 STATIC_ROOT 和 urls.py 也会出现 404 错误 【发布时间】:2021-12-02 01:29:51 【问题描述】:

我不知道为什么,但在尝试使用像这样的静态文件时出现 404 错误:% static 'js/some.js' %

这是我的 urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path("account/", include("account.urls")),
    path("", include("post.urls")),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这是我的 settings.py

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

# media config 
MEDIA_URL = "/media/"
MEDIA_ROOT = BASE_DIR  / 'media/'

谢谢!!

编辑

这是我得到的错误

GET http://127.0.0.1:8000/static/js/some.js net::ERR_ABORTED 404 (Not Found)

而且你在这里看到的网址是对的。

【问题讨论】:

【参考方案1】:

请试试这个:

# settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    BASE_DIR / "static",
]

【讨论】:

以上是关于为啥即使我设置了 STATIC_ROOT 和 urls.py 也会出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

Django 404 上的静态文件,同时设置了 static_root 和 static_url

为啥即使配置文件设置为分发,xcode 也会抛出此错误?

我没有设置 CORS 标头,即使它已设置。为啥?

您正在使用 staticfiles 应用程序而没有将 STATIC_ROOT 设置设置为文件系统路径

为啥即使我设置了 DataTypeReplacement = 'CBuiltIn',MATLAB Coder 也不会生成 C 内置类型?

为啥即使我在项目设置中更改了语言标准,std::lcm() 也不起作用?