跳转到主要内容

Django Admin 扩展

项目描述

django-admin

Django Admin 扩展

安装

pip install django-admin

用法

  • 禁用操作
    from django.contrib import admin
    from django_admin import DeleteModelAdmin
    
    # Override ``delete_selected``, call ``delete_model`` for each when ``delete_selected``
    class XXXAdmin(admin.ModelAdmin, DeleteModelAdmin):
        def delete_model(self, request, obj):
            obj.delete()
            # Other Codes
    
    # Reopen action ``delete_selected`` after ``admin.site.disable_action('delete_selected')``
    class YYYAdmin(admin.ModelAdmin):
        actions = ['delete_selected']
    
    # Disable ``actions``
    class ZZZAdmin(admin.ModelAdmin):
        actions = None
    
  • 导出Excel
    from django.contrib import admin
    from django_admin import ExportExcelModelAdmin, AdvancedExportExcelModelAdmin
    
    class XXXAdmin(ExportExcelModelAdmin, admin.ModelAdmin):
        pass
    
    class YYYAdmin(AdvancedExportExcelModelAdmin, admin.ModelAdmin):
        excel_headers = ()
        excel_fields = ()
        excel_fields_exclude = ()
        extra_excel_fields = ()
    
        def add_extra_excel_fields(self, request, query):
            return []
    
  • 所有字段只读
    from django.contrib import admin
    from django_admin import ReadonlyModelAdmin, Readonly2ModelAdmin
    
    class XXXAdmin(ReadonlyModelAdmin, admin.ModelAdmin):
        """ Readonly for Update. """
        pass
    
    class XXXAdmin(Readonly2ModelAdmin, admin.ModelAdmin):
        """ Readonly for Add/Update. """
        pass
    
  • 禁用编辑
    from django.contrib import admin
    from django_admin import ReadOnlyModelAdmin
    
    class XXXAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
        pass
    
    • 应在INSTALLED_APPS中添加django_admin
      INSTALLED_APPS = [
          ...
          'django_admin',
          ...
      ]
      
  • 禁用添加/删除
    from django.contrib import admin
    from django_admin import ChangeOnlyModelAdmin
    
    class XXXAdmin(ChangeOnlyModelAdmin, admin.ModelAdmin):
        pass
    
  • 禁用添加/更改
    from django.contrib import admin
    from django_admin import DeleteOnlyModelAdmin, DeleteonlyModelAdmin
    
    class XXXAdmin(DeleteOnlyModelAdmin, admin.ModelAdmin):
        # DeleteOnlyModelAdmin - All Fields Default Readonly
        # DeleteonlyModelAdmin - All Fields Not Default Readonly
        pass
    
    • 应在INSTALLED_APPS中添加django_admin
      INSTALLED_APPS = [
          ...
          'django_admin',
          ...
      ]
      
  • 禁用删除/更改
    from django.contrib import admin
    from django_admin import AddOnlyModelAdmin
    
    class XXXAdmin(AddOnlyModelAdmin, admin.ModelAdmin):
        pass
    
    • 应在INSTALLED_APPS中添加django_admin
      INSTALLED_APPS = [
          ...
          'django_admin',
          ...
      ]
      

缺点

  • 将禁用所有ModelAdmindelete_selected
  • 将丢失删除确认

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-admin-2.0.2.tar.gz (6.4 kB 查看哈希值)

上传时间:

构建分布

django_admin-2.0.2-py2.py3-none-any.whl (7.6 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持

AWSAWS 云计算和安全赞助商DatadogDatadog 监控FastlyFastly CDNGoogleGoogle 下载分析MicrosoftMicrosoft PSF赞助商PingdomPingdom 监控SentrySentry 错误日志StatusPageStatusPage 状态页面