Django 开发时如何静态链接访问与mpApp应用文件夹同级的文件-静态链接访问非 STATIC 的内容

环境介绍: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'
Python

2025年8月8日

Mr幺幺肆


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注