Django admin后台常用设置汇总

一开始学Django的时候基本都有接触django admin管理员后台,但是之后的开发基本很少用,写API测试的时候要修好后台数据基本都是命令行或者数据库直接修改,完全没有接触到admin。但是最近方便公司订饭,写了个订饭系统,前后端分离,本想让前端根据登录员工判断是否是管理员角色,然后在页面上增加管理员操作元素,有点麻烦,。之后,我直接傻了,拍了下自己头,为啥不用django自带的管理员后台呢,好用方便快捷。

1. 信手拈来

Django admin 一些有用的设置
如何修改django的app在admin中显示的名称

2. 柳暗花明

在搜寻资料的过程中,反现了一本好书 django-admin-cookbook,我把各个topic翻译过来,以便以后方便翻阅。

  1. 如何更改“ Django admin”文本? (常用的site_header,site_title,index_title)
  2. 如何为Django 模型设置复数文本? (verbose_name_plural参数)
  3. 如何创建两个独立的管理站点? (继承AdminSite)
  4. 如何从“Django admin”删除默认app? (比如默认的Groups Users)
  5. 如何为“Django admin”添加一个log?
  6. 如何覆盖“Django admin”的页面模板?
  7. 如何在列表视图页面上显示计算字段? (其他Model可计算获得的字段)
  8. 如何在“Django admin”中优化查询? (get_queryset方法覆盖)
  9. 如何启用对计算字段的排序? (接第七条)
  10. 如何启用对计算字段的过滤? (同上)
  11. 如何显示计算出的布尔字段的“开”或“关”图标?(同上)
  12. 如何在“Django admin”添加其他操作? (actions)
  13. 如何从“Django admin”中导出CSV?
  14. 如何在“Django admin”删除“deleted”操作?
  15. 如何将自定义操作按钮(不是操作)添加到“Django admin”列表页面?
  16. 如何使用“Django admin”导入CSV?
  17. 如何将Django管理员限制为特定用户? (is_staff=Trueis_superuser=True
  18. 如何限制对Django管理员部分的访问? (has_xxx_permission等)
  19. 如何允许管理员只能创建一个对象? (同上)
  20. 如何删除模型的“添加”或者“删除”按钮? (同上)
  21. 如何让一位Django管理员编辑多个模型? (需要使用内联)
  22. 如何将一对一关系添加为管理员内联?(同上)
  23. 如何在“Django admin”中添加嵌套的内联? (同上)
  24. 如何为两个不同的模型创建一个“Django admin”?
  25. 如何在列表视图页面上显示更多行? (list_per_page
  26. 如何禁用分页? (同上)
  27. 如何在“Django admin”中添加基于日期的过滤? (date_hierarchy = 'added_on'
  28. 如何在列表视图页面上显示多对多或反转FK字段?
  29. 如何在”Django admin“中显示Imagefield中的图像?
  30. 保存时如何将模型与当前用户关联?
  31. 如何在”Django admin“中将字段标记为只读? (readonly_fields
  32. 如何在”Django admin“中显示不可编辑的字段 (同上)
  33. 如何使字段在创建时可编辑,但在现有对象中只能读取? (get_readonly_fields
  34. 如何在”django admin“中过滤FK下拉值?
  35. 如何使用带有大量对象的FK管理模型?
  36. 如何更改下拉菜单中的ForeignKey显示文本?
  37. 如何在”Django更改视图页面“中添加自定义按钮?
  38. 如何获取特定对象的”Django admin“ URL?
  39. 如何向”Django adimn“添加两次模型?
  40. 如何在”Django admin“覆盖保存行为? (save_model
  41. 如何将数据库视图添加到“Django admin”?
  42. 如何在“Django admin”中设置应用程序和模型的顺序?