我的网站获取静态文件时遇到问题

Posted

技术标签:

【中文标题】我的网站获取静态文件时遇到问题【英文标题】:I am having issues with my website getting the static files 【发布时间】:2021-06-04 19:35:23 【问题描述】:

我的网站在获取要为网站呈现的静态文件时遇到问题,我不知道可能是什么问题。

我注意到静态文件仅适用于主页,并且我从终端收到了这样的响应。

它们都共享用于渲染的通用基础文件。

终端上的主页响应

[06/Mar/2021 17:58:34] "GET / HTTP/1.1" 200 19153
[06/Mar/2021 17:58:34] "GET /static/img/logo/logo-new.png HTTP/1.1" 200 9967
[06/Mar/2021 17:58:34] "GET /static/img/icon/icon1.svg HTTP/1.1" 200 5207
[06/Mar/2021 17:58:35] "GET /static/js/vendor/modernizr-3.5.0.min.js HTTP/1.1" 200 8638
[06/Mar/2021 17:58:36] "GET /static/js/popper.min.js HTTP/1.1" 200 19191
[06/Mar/2021 17:58:36] "GET /static/js/vendor/jquery-1.12.4.min.js HTTP/1.1" 200 97166
[06/Mar/2021 17:58:36] "GET /static/js/bootstrap.min.js HTTP/1.1" 200 48950

但是对于论坛页面,终端上的响应是这样的

Not Found: /forum/static/js/vendor/jquery-1.12.4.min.js
[06/Mar/2021 17:58:54] "GET /forum/static/js/popper.min.js HTTP/1.1" 404 3627
Not Found: /forum/static/js/select2.min.js
[06/Mar/2021 17:58:54] "GET /forum/static/css/bootstrap.min.css HTTP/1.1" 404 3642
Not Found: /forum/static/js/moment.min.js
[06/Mar/2021 17:58:54] "GET /forum/static/js/vendor/jquery-1.12.4.min.js HTTP/1.1" 404 3669
[06/Mar/2021 17:58:54] "GET /forum/static/js/select2.min.js HTTP/1.1" 404 3630

并且喜欢这个关于页面

[06/Mar/2021 18:02:11] "GET /about/static/img/gallery/about3.png HTTP/1.1" 404 3645
Not Found: /about/static/js/bootstrap.min.js
[06/Mar/2021 18:02:11] "GET /about/static/js/bootstrap.min.js HTTP/1.1" 404 3636
Not Found: /about/static/js/jquery.slicknav.min.js
[06/Mar/2021 18:02:11] "GET /about/static/js/jquery.slicknav.min.js HTTP/1.1" 404 3654
Not Found: /about/static/js/owl.carousel.min.js
[06/Mar/2021 18:02:11] "GET /about/static/js/owl.carousel.min.js HTTP/1.1" 404 3645

settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "/static/")
#STATICFILES_DIRS = ('assets',)
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'staticfiles')]
#STATIC_ROOT = os.path.join(BASE_DIR, "..", "www", "static")

MEDIA_URL = '/media/'
MEDIA_ROOT = '/media/'

urls.py

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

【问题讨论】:

这能回答你的问题吗? django html template can't find static css and js files 【参考方案1】:

我能够解决这个问题。我只需要将我的 settings.py 文件更改为:

settings.py

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

MEDIA_URL = '/media/'
MEDIA_ROOT = '/media/'

【讨论】:

以上是关于我的网站获取静态文件时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

从 iOS 获取我的 JSON 以发布到我的 php 文件并插入到 mySQL 时遇到问题

从 Firestore 回收视图中获取文件时遇到问题 [重复]

使用 PyVimeo 从 API 获取 Vimeo 文件名时遇到问题

使用 S3、CloudFront 和源路径的静态网站托管的子文件夹重定向问题

swift-bridge时遇到的一些小坑记录

使用 Rawgit 获取 Javascript 文件