学习过django框架的应该了解后端有static静态文件,media媒体文件,还有一些其他的配置文件,那么在整个web服务中每个区域访问资源的路径有什么区别呢
前端模版中src
一般本地项目的src都是写项目中的相对路径或者根据电脑磁盘的绝对路径
而在服务器中的前端显然不可能支持访问磁盘或者相对路径,那么只能访问服务器url下的相关资源
这里提到的就是media和static两类可以通过服务器url配置直接访问的资源,
一般前端需要的资源(css,js)路径可以直接在html中 load static 然后根据模版语法访问任意的static文件
media一般为后端保存在服务器中的文件,在前端需要时,由后端传入,根据模版语法可以直接在响应的参数中获取,如果是ajax请求可以在对应的json.data中设置media路径
关于使用media和static文件还需进行settings.py中的相关配置,网上很多博客也都写了,大概只需要修改几步,大抵都是可以配置正确的
后端中访问相关资源
后端一般情况下不会直接访问服务器的资源(除了数据库),因为后端大多数处理的是业务逻辑,而只有当需要读取相关硬性配置的时候需要直接在服务器中寻找配置文件
在后端python代码中,不论需要的文件在哪,不论当前文件在哪,路径一律为相对项目根目录起始的路径
比如 我当前的项目为 DjApp,
当前py文件路径:DjApp/misc/test.py
需要访问的配置文件路径:DjApp/resources/yml/1.yml
那么在test.py中只需要将路径部分改为 'resources/yml/1.yml'即可让服务器正常访问该文件