使用 Django admin 模块
使用Django admin模块,必须:
- 添加
django.contrib.admin
到INSTALLED_APPS
中 - admin 依赖的 app 包括:
django.contrib.auth
,django.contrib.contenttypes
,django.contrib.messages
和django.contrib.sessions
- 添加
django.contrib.messages.context_processors.messsags
到TEMPLATE_CONTEXT_PROCESSORS
- 添加
django.contrib.auth.middleware.AuthenticateionMiddleware
和django.contrib.messages.middleware.MessageMiddleware
,到MIDDLEWARE_CLASS
ModelAdmin.actions
自定义 action 函数和普通函数没啥区别,需要是三个参数:当前的 ModelAdmin,当前的 HttpRequest,用户说选中的 QuerySet
def make_publiced(modleadmin,request,queryset):
queryset.update(public=False)
直接调用 queryset 的 update 比逐个迭代 entity 更高效。默认action的下拉列表显示的名字就是函数名make_publiced
,但是你可以起一个更优雅的名字:
make_publiced.short_description = u"标记为公开"
最后一步就是告诉 modelaction
actions = ['make_publiced']
以上就是你需要做的全部 https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论