Koo*_*obz 13 django django-admin changelist
Django更改列表表非常酷 - 可搜索,可过滤,多选操作等.
我正在构建一个应用程序的自定义后端,我一直在意识到:这正是我需要的,我应该重新使用它.
有没有人有任何使用Django管理应用程序之外的更改列表的经验?
我目前得到的是这样的:
from profile.admin import ProfileAdmin
from django.contrib.admin.sites import AdminSite
from profile.models import Profile
profile_admin = ProfileAdmin(Profile, AdminSite())
return profile_admin.changelist_view(request)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人有这方面的经验或可以提出替代方案.
ChangeList作为一个类非常酷,功能齐全.但是,在AdminSite monolith的上下文之外很难使用它.
ChangeList类需要12个必需__init__()
参数.当你意识到这些都来自管理员时,这个数字本身就应该引导你离开并加倍changelist_view()
.虽然这些参数自Django 1.1以来保持不变,但它们确实从1.0改变而且它是一个Django内部对象,我不会依赖它的界面稳定.
使用ChangeList的最佳方法 - 或者专门用于获取更改列表的好处(这就是你所追求的) - 是使用该changelist_view()
方法.使用它当然需要使用/子类化AdminSite.这值得做,或者至少尝试一下.看起来你已经是.
该方法采用指向它的URL路由中的request
参数和喜欢/(?P<app_label>%s)/(?P<model_name>%s)/
.
深入研究代码:
ChangeList
住在 django.contrib.admin.views.main
changelist_view()
是一种方法 django.contrib.admin.options.ModelAdmin
更新:在Django中1.4,两者ChangeList
并changelist_view()
通过分别将一个和两个新的参数改变.
归档时间: |
|
查看次数: |
3846 次 |
最近记录: |