【Django】’STATIC_URL’的’/static/’和’static/’会因版本而异!解决CSS加载错误的方法【Django】根据版本不同,’STATIC_URL’的’/static/’和’static/’会有所差异!解决CSS加载错误的方法【Django】根据版本的不同,’STATIC_URL’中的’/static/’和’static/’会有所不同!处理CSS加载错误的方法

总述

因为Django 3.0.5版本出现了CSS文件无法加载的问题,下面将记录其原因和解决方法。

结论是,根据Django的版本,STATIC_URL的编写方式是不同的。

如果 STATIC_URL = ‘static/’ 的情况下:

以下是當點擊/admin時的情況。
如您所見,CSS並未生效。

image.png

日志中出现了以下CSS加载错误。

Not Found: /admin/static/admin/css/base.css
Not Found: /admin/static/admin/css/responsive.css
[01/Nov/2023 13:31:24] "GET /admin/static/admin/css/base.css HTTP/1.1" 404 4927
Not Found: /admin/static/admin/css/dashboard.css
[01/Nov/2023 13:31:24] "GET /admin/static/admin/css/responsive.css HTTP/1.1" 404 4945
[01/Nov/2023 13:31:24] "GET /admin/static/admin/css/dashboard.css HTTP/1.1" 404 4942

当然,即便你走另一条路线也是一样的。
以下是出现的情况。

Not Found: /static/polls/style.css

如果STATIC_URL = ‘/static/’的情况下:

只需轻微的更改,只需在前面加上斜杠”/”,CSS就得到了应用。

image.png

原因是版本。

当我进行调查时,发现

古老版本的Django = ‘/static/’
新版本的Django = ‘static/’

这是怎么回事。

在下面的文章中也以这种方式写着。

如果使用的是老版本的Django,可能会定义STATIC_URL为’/static/’
如果STATIC_URL被定义为这样,那么之后的解释就齐了,只需要将/STATIC_URL替换成STATIC_URL就可以了。

这次我把我用Django 4.1创建的Django教程应用程序和我已经在使用的Django应用程序(3.0.5)的settings.py混合在一起使用了。因此,就会产生这样由于版本差异导致的错误。

只需要一个解决办法。

广告
将在 10 秒后关闭
bannerAds