拥有作为django应用程序一部分的文件的完整路径我想获得一个Django应用程序名称。
例如,对于此路径:
/lib/python2.6/site-packages/django/contrib/auth/tests/auth_backends.py
应用程序名称为auth
。
我想知道如何以编程方式为app中的特定文件名计算这个Django应用程序名称。
背景:我想从vim编辑器集成调用Django测试管理命令。它应该为当前编辑的文件所属的应用程序运行测试。
答案 0 :(得分:2)
您可以使用__import__
按文件名获取模块。您可以使用__package__
属性获取它的包名称。然后,您可以检查settings.INSTALLED_APPS
中的哪个应用是包名称的子字符串。这是你的应用程序。
答案 1 :(得分:0)
如果你在该模块中有一个类的实例,你可以尝试:
instance._meta.app_label