跨目录导入模块

一、在文件里写死目录

import sys

base_dir = "/xxx/xxx/xxx"  #定义基础目录,直到当前文件和需要导入文件共同的上级目录

sys.path.append(base_dir)

from my_proj import settings  # my_proj指的是需要导入的模块的上级文件夹名称,settings指需要导入的模块名称


 二、动态目录

import sys

import os

base_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))  #动态获取绝对路径

sys.path.append(base_dir)

from my_proj import settings


  三、官方推荐

在项目里创建个入口程序,整个程序调用的开始应该是从入口程序发起,这个入口程序一般放在项目的顶级目录

这样做的好处是,项目中的二级目录 apeland_web/views.py中再调用他表亲my_proj/settings.py时就不用再添加环境变量了。


原文地址:https://www.cnblogs.com/nanjo4373977/p/12071138.html