Python 在导入的文件中提取Django项目标签
我正在实现一个元应用程序,出现以下问题: (根)/global.pyPython 在导入的文件中提取Django项目标签,python,django,Python,Django,我正在实现一个元应用程序,出现以下问题: (根)/global.py class Model(Base): def f(self): app_label = do_magic() return app_label (根)/项目/(应用程序标签)/model.py 例如,在文件(root)/project/test/model.py中调用m.f()应该返回test,而project.test被添加到已安装的应用程序中 有人有主意吗?我把它命名为get\u app\u name
class Model(Base):
def f(self):
app_label = do_magic()
return app_label
(根)/项目/(应用程序标签)/model.py
例如,在文件(root)/project/test/model.py中调用m.f()
应该返回test
,而project.test
被添加到已安装的应用程序中
有人有主意吗?我把它命名为get\u app\u name
,而不是do\u magic
。以下是您需要的
import os
import inspect
def get_app_name():
return os.path.dirname(
os.path.abspath(
inspect.stack()[-1][1])).split(os.path.sep)[-1]
谢谢根据上下文的不同,必须替换堆栈元素的编号:inspect.stack()[i][1](在本例中i=2)
import os
import inspect
def get_app_name():
return os.path.dirname(
os.path.abspath(
inspect.stack()[-1][1])).split(os.path.sep)[-1]