chan

朝生暮死不足笑 但悲百年不足道

css文件定位错误


如下图所示,在援引需要的css文件时,发生了重定向,也就是说找不到当前的css文件

原因在于,settings中的STATIC_URL的配置如下

修改为如下图所示后,正常展示

界面如下图所示


在 Django 中,STATIC_URL 用于指定静态文件的 URL 前缀。STATIC_URL = '/static/' 和 STATIC_URL = 'static/' 的区别主要体现在 URL 路径的处理上:

  1. STATIC_URL = '/static/':
    • 以斜杠 / 开头,表示绝对路径。
    • 静态文件的 URL 会从根路径开始,例如:http://example.com/static/css/style.css
    • 适用于大多数情况,尤其是当静态文件位于站点根目录时。
  2. STATIC_URL = 'static/':
    • 不以斜杠 / 开头,表示相对路径。
    • 静态文件的 URL 会相对于当前路径,例如:如果当前页面是 http://example.com/blog/,静态文件的 URL 会是 http://example.com/blog/static/css/style.css
    • 可能导致静态文件路径错误,通常不推荐使用。

总结

  • STATIC_URL = '/static/' 是推荐用法,确保静态文件路径始终从根目录开始。
  • STATIC_URL = 'static/' 可能导致路径问题,除非有特殊需求,否则应避免使用。

示例

假设 STATIC_URL = '/static/',静态文件 style.css 的 URL 会是:

复制

http://example.com/static/css/style.css

如果 STATIC_URL = 'static/',且当前页面是 http://example.com/blog/,静态文件的 URL 会是:

复制

http://example.com/blog/static/css/style.css

因此,通常建议使用 STATIC_URL = '/static/' 以确保路径正确。

评论
还没有评论
    发表评论 说点什么