在Django中如何使用Python获取应用名称

35 投票
10 回答
40336 浏览
提问于 2025-04-16 17:37

如果你在一个界面上,想用Python获取应用的名称(这个应用名称会用在后面的逻辑中),你会怎么做呢?

10 个回答

7

另一种方法是获取当前对象,或者使用 self。请看下面的代码。

obj.__module__.split('.')

这段代码会返回一个列表,里面是对象名称按 '.' 分开的部分。

9
__package__

或者

__package__.rsplit('.', 1)[-1]

应该是最简单的方法。第二个方法把 a.b.c 转换成 c

33

你可以这样做:

from django.core.urlresolvers import resolve

....

resolve(request.path).app_name

可以参考 如何在Django中获取当前应用resolve()

更新:现在你可以使用 request.resolver_match.app_name,这样就不需要再解析一次,也不用导入其他东西。可以这样做:

request.resolver_match.app_name

撰写回答