我正在编写一个单元测试,需要访问我放在 django 应用程序目录下的“fixtures”目录中的图像文件。我想在测试中使用相对路径打开这个图像文件,这需要我获取 django 应用程序的绝对路径。有没有办法获取 django 应用程序的绝对路径?
Python 模块(包括 Django 应用程序)有一个__file__
告诉您其位置的属性__init__.py
文件系统上的文件,所以
import appname
pth = os.path.dirname(appname.__file__)
应该做你想做的事。
在通常情况下,os.path.absname(appname.__path__[0])
,但如果应用程序想要以奇怪的方式导入文件,则可以更改这一点。
(我总是这样做PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
in my settings.py
,不过 - 可以轻松完成需要绝对路径的各种设置。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)