就困扰了我半天的Django静态文件配置问题
更改了setting 文件后 文件参考问题总会高亮让然觉得又错误怪怪的
所以索性直接眼不见心不烦
具体操作如下图:
就这样就可以啦
大功告成!
也顺便提一下静态文件配置问题:
Django静态加载的设置
django部署方式比较特别,采用静态文件路径:STATICFILES_DIRS的部署方式,之前你写的相对路径,绝对路径因为缺少静态文件路径而全部失效
解决方法
当 debug=True 时, 就是本地的开发模式, 这个时候, 访问压力很小, django 能处理, 所以直接 python manage.py runserver 就会加载静态文件, 即 django 为了方便, 帮你处理了静态文件问题
但是当 debug=False 时, django 认为这是生产环境了, 这个时候, 因为 django 处理静态文件能力时较差的, 这种情况一般(99%)会使用 nginx 处理静态文件, 所以 django 就不再处理静态文件了
这个时候, 你再 runserver, 这个 server 只会处理那些 views 中的请求, 静态文件不再处理, 所以网站能用, 但是 css 没有加载
PS: 有时候你会发现, debug=False, 好像有 css. 这是因为如果你先 debug=True, 刷新页面(此时加载了 css), 再 debug=False, 刷新页面会发现还有 css, 这是因为页面有缓存, 还没有及时清理. 使用清缓存刷新(win 下时 ctrl+F5, mac 下是 cmd+shift+R), 就会发现 css 没了
**如果想 debug=False 仍能有 css, 最简单就是
python manage.py runserver –insecure**
好了回到正题先说setting文件:
先在project文件结尾处添加
STATIC_URL = '/static/'#普通文件用STATICFILES_DIRS =[os.path.join(BASE_DIR,'static')
]
#上传文件目录MDEIA_ROOT = os.path.join(BASE_DIR,r'static\mdeia')#STATIC_URL这个是原始框架里面就有的,当然你也可以根据自己的实际情况去修改路径。重点是下面一句,
STATICFILES_DIRS,这个表示django的findstatic是要去那个目录去找这些静态文件。最后一句是上传文件路径。
再说层级目录吧
要记得这么用啊
在HTML文件头部用上这个
{% load static %}
【图中的是具体的 上头是简便的 效果一样】
刚开开始学习 还望csdner多多指教