环境介绍:Django开发时,有的时候我们并不想把一些素材直接放进static中,而是放在与myApp应用包平级的文件夹中。
即在myProject/myApp的代码中,访问myProject/Package_Undis_tcspc。
文件树如下:
├─LaserWebSite #项目配置文件夹,内含
│ ├─settings.py
│ ├─urls.py
├─myApp #应用文件夹,要用templates中的模板访问
│ ├─migrations #Package_Undis_tcspc/spe
│ ├─static #Package_Undis_tcspc/plot
│ │ └─myApp
│ ├─templates
├─Package_Undis_tcspc #外部文件夹,当作模块包存放在应用文件夹之外
│ ├─plot #且不在static中
│ ├─spe
Bash步骤1、
修改项目的settings.py,找到 STATICFILES_DIRS 字段,添加行
STATICFILES_DIRS = (
("Package_Undis_tcspc_spe",os.path.join(BASE_DIR, 'Package_Undis_tcspc/spe')), # 添加Package_Undis_tcspc_spe
("Package_Undis_tcspc_plot",os.path.join(BASE_DIR, 'Package_Undis_tcspc/plot')), # 添加Package_Undis_tcspc_plot
)
Bash保存生效。
代码解释:
("Nickname",'一个绝对路径')
#想要访问'/绝对路径/1.png',就会变成'/static/Nickname/1.png'。
("Package_Undis_tcspc_spe",os.path.join(BASE_DIR, 'Package_Undis_tcspc/spe')),
#访问spe文件的链接被替换为
#'http:127.0.0.1:8000/static/Package_Undis_tcspc_spe/1.png’
Bash前端调用方法:
#注意添加{% load static %}于前端html头部
src = "{% static 'Package_Undis_tcspc_spe/' %}" + '1.png'
Python2025年8月8日
Mr幺幺肆
发表回复