使用 Django admin 模块

发布于 2021-03-25 12:18:05 字数 1423 浏览 1000 评论 0

使用Django admin模块,必须:

  1. 添加 django.contrib.admin 到 INSTALLED_APPS
  2. admin 依赖的 app 包括:django.contrib.auth,django.contrib.contenttypes,django.contrib.messages 和 django.contrib.sessions
  3. 添加 django.contrib.messages.context_processors.messsags 到 TEMPLATE_CONTEXT_PROCESSORS
  4. 添加 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文