为ModelAdmin添加基于类的视图的混入
项目描述
django-adminextraviews
为ModelAdmin添加基于类的视图的混入。
原因
基于类的视图非常有用,但很难将其添加到管理中心。这使得在Django管理中添加基于类的视图变得容易。
安装
安装django-adminextraviews
pip install django-adminextraviews
用法
将ExtraViewsMixin添加到您的ModelAdmin并定义extra_views属性。
from adminextraviews import ExtraViewsMixin
class MyModelAdmin(ExtraViewsMixin, admin.ModelAdmin):
extra_views = [
('login_as_user', r'(?P<pk>\d+)/login/', LoginAsUserView),
]
现在您可以使用它就像正常视图一样,您可以对其进行反向解析。
>>> urlresolvers.reverse('admin:myapp_mymodel_login_as_user', kwargs={'pk': 12})
'/admin/myapp/mymodel/12/login/'
如果您的视图是ModelFormMixin(如CreateView、UpdateView)的子类,ExtraViewsMixin将使用管理中心小部件包装表单类。如果没有设置,它还将设置model属性。
变更日志
1.1.0 (2015-03-24)
允许使用不同的模型 [#1]。
1.0.0 (2015-03-19)
PyPI上的首次发布。