Django admin禁用编辑链接和添加删除操作详解

yipeiwu_com6年前Python基础

禁用admin中models的编辑链接和添加删除按钮

方法如下:

class MyModelAdmin(models.ModelAdmin):
 ...
 List_display_links = None #禁用编辑链接
 
 def has_add_permission(self, request):
 # 禁用添加按钮
    return False

  def has_delete_permission(self, request, obj=None):
   # 禁用删除按钮
    return False

  def get_actions(self, request):
   # 在actions中去掉‘删除'操作
    actions = super(GradesManagementAdmin, self).get_actions(request)
    if request.user.username[0].upper() != 'J':
      if 'delete_selected' in actions:
        del actions['delete_selected']
    return actions

需要注意的是,这种禁用编辑链接的放法只是不让它在页面中显示,即把超链接去掉了,但是还是可以通过手动输入url的方式来进入编辑页面。不过可以配合设置fieldsets或者readonly_fieldss来达到目的。

以上这篇Django admin禁用编辑链接和添加删除操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python标准库之循环器(itertools)介绍

在循环对象和函数对象中,我们了解了循环器(iterator)的功能。循环器是对象的容器,包含有多个对象。通过调用循环器的next()方法 (__next__()方法,在Python 3....

深入理解Django的中间件middleware

深入理解Django的中间件middleware

本文讲述的内容基于 Django 1.11 摘要 Django 中的中间件(middleware),是一个镶嵌到Django的request/response处理机制中的一个hooks框...

python如何实现excel数据添加到mongodb

利用pymongo包进行数据库的连接,使用xlrd包读取excel数据,由于二者数据结构的不同,要将excel格式数据转换为json格式数据。由于编码问题会出现“TypeError: '...

Python中使用logging模块打印log日志详解

学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓“只要log打的好,没有bug解不了”,在我们熟...

Python实现繁體转为简体的方法示例

本文实例讲述了Python实现繁體转为简体的方法。分享给大家供大家参考,具体如下: 这里需要用到两个文件,可以点击此处本站下载源文件:zh_wiki.py  和 la...