如何在Django中获取当前应用程序

时间:2010-11-23 13:08:36

标签: django

我正在使用Django 1.3 alpha创建一个包含两个应用程序的项目。我使用1.3是因为基于类的视图。对于这两个应用程序,我有一组公共基本视图类,它们由应用程序中的实际视图继承。在基类中,有没有办法找出视图被“调用”的应用程序?例如。我可以使用URL来获取“当前”应用程序吗?

1 个答案:

答案 0 :(得分:7)

如果您继承了django提供的通用列表和详细信息视图,则可以访问self.model以访问视图显示信息的模型,否则您可能会使用django's resolve()resolve(self.request.path)

您还可以使用您选择的关键字制作自己的View子类:

# views.py
from django.views.generic.base import View
class MyView(View):
     app_name = None

# urls.py
from django.conf.urls.defaults import *
from some_app.views import MyView

urlpatterns = patterns('',
    (r'^myview/', MyView.as_view(app_name='app_name')),
)

然后您应该可以通过self.app_name访问它。