在settings.py文件中进行模板,静态文件等的路径配置刚开始把我给绕晕了,以前没有接触到路径这一块时总感觉绝对路径多么多么好,简洁明了一眼就能看出是哪个盘哪个文件,最后发现只有windos系统才有盘符,其他系统都没有这个玩意,还有反斜杠,瞬间觉得微软才是异类.
在settings.py中BASE_DIR代表当前根目录文件的路径
1 | BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
刚开始的连续的三个os.path真的把我吓住了,一眼看上去真的很复杂,然后我从里层从外层打印,分清了os.path.abspath和os.path.dirname的区别
1 |
1 | C:\Users\29427\Desktop\sub_py |
所以abspath是获得该文件的绝对路径包括文件名,dirname是获得该文件的绝对路径不包括文件名.
由上可以得出,BASE_DIR可以用下述代码进行替换
1 | BASE_DIR = os.path.dirname(os.path.dirname(__file__)) |
在全局配置中的BASE_DIR最后得到的路径就是项目根目录的路径,将这个路径与template,media,static文件夹相拼接,就得到了相应所需的路径,比如
1 | STATIC_URL = '/static/' |