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