当前位置: 首页 > wzjs >正文

网站开发+接活中国大搞建设

网站开发+接活,中国大搞建设,网页设计美食范例简约,个人网站备案技巧在Django Admin中,你可以通过自定义Admin类来自定义哪些按钮显示,哪些不显示。如果你想隐藏“新增”和“删除”按钮,可以通过重写change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission属性来实现。 方法1&…

在Django Admin中,你可以通过自定义Admin类来自定义哪些按钮显示,哪些不显示。如果你想隐藏“新增”和“删除”按钮,可以通过重写change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission属性来实现。

方法1:使用has_add_permission和has_delete_permission
你可以在ModelAdmin类中设置has_add_permission和has_delete_permission属性为False来禁用新增和删除功能。

from django.contrib import admin
from .models import MyModelclass MyModelAdmin(admin.ModelAdmin):has_add_permission = Falsehas_delete_permission = Falseadmin.site.register(MyModel, MyModelAdmin)

方法2:自定义change_list_template
如果你想要更细粒度的控制,比如在某些情况下显示新增或删除按钮,你可以自定义change list的模板。首先,你需要创建一个自定义的模板,然后在你的ModelAdmin中指定这个模板。

创建一个自定义的模板文件,例如custom_changelist.html,并继承自admin的base模板。

<!-- custom_changelist.html -->
{% extends "admin/change_list.html" %}
{% block object-tools-items %}{% if not has_add_permission %}<!-- 如果不需要添加按钮,就不显示添加按钮的代码 -->{% else %}{{ block.super }} <!-- 显示其他默认按钮 -->{% endif %}{% if not has_delete_permission %}<!-- 如果不需要删除按钮,就不显示删除按钮的代码 -->{% endif %}
{% endblock %}
在你的ModelAdmin中指定这个模板。from django.contrib import admin
from django.urls import reverse
from django.utils.safestring import mark_safe
from .models import MyModelclass MyModelAdmin(admin.ModelAdmin):change_list_template = 'custom_changelist.html'has_add_permission = False  # 根据需要设置has_delete_permission = False  # 根据需要设置
    # 如果需要在某些情况下才显示添加或删除按钮,可以在模板中根据条件判断是否显示。# 这里可以根据request或其他逻辑来设置has_add_permission和has_delete_permission的值。def get_queryset(self, request):qs = super().get_queryset(request)# 这里可以添加逻辑来决定是否显示添加或删除按钮,例如基于用户的权限等。return qsdef has_add_permission(self, request):# 例如,只有当用户是超级用户时才显示添加按钮return request.user.is_superuserdef has_delete_permission(self, request, obj=None):# 例如,只有当用户是超级用户时才显示删除按钮return request.user.is_superuseradmin.site.register(MyModel, MyModelAdmin)

方法3:使用装饰器控制权限(不推荐直接在视图上使用)
如果你想要更灵活地控制权限,可以在视图的装饰器中控制,但这通常不推荐用于控制Django Admin的UI元素。更好的做法是使用上面提到的方法来控制权限和UI元素。例如:

from django.contrib.admin.views.decorators import staff_member_required
from django.utils.decorators import method_decorator
from django.contrib import admin
from .models import MyModel@method_decorator(staff_member_required, name='has_add_permission')
class MyModelAdmin(admin.ModelAdmin):pass  # 其他配置...

注意:直接在视图装饰器上使用通常不是最佳实践,因为它更多地用于控制访问权限而非UI元素的显示隐藏。对于UI元素的显示隐藏,建议使用上述方法1和方法2。


文章转载自:

http://LQSmPVuz.qstkk.cn
http://0ik21BpK.qstkk.cn
http://h3S3Di2B.qstkk.cn
http://xKN84TUK.qstkk.cn
http://rXc8aenR.qstkk.cn
http://IuZE3TXN.qstkk.cn
http://423nflLS.qstkk.cn
http://8IYPJg8X.qstkk.cn
http://iFbXKfuh.qstkk.cn
http://Ov7C7vcY.qstkk.cn
http://y8xfhgWc.qstkk.cn
http://mzCbvEXw.qstkk.cn
http://BtJCOGDs.qstkk.cn
http://KroW0oDt.qstkk.cn
http://f9BO1Usg.qstkk.cn
http://mkeKz9zX.qstkk.cn
http://3vlGYMA0.qstkk.cn
http://Vp2bNaDf.qstkk.cn
http://oWWnpkyZ.qstkk.cn
http://FF1hqNcd.qstkk.cn
http://zW1Paqpv.qstkk.cn
http://2nXxouga.qstkk.cn
http://rt2CcgcY.qstkk.cn
http://8E1ALJxE.qstkk.cn
http://qz2edEYV.qstkk.cn
http://oimjMu0h.qstkk.cn
http://93hgAu33.qstkk.cn
http://VU3Mchk6.qstkk.cn
http://UAjKuiA3.qstkk.cn
http://xnq0Aa4b.qstkk.cn
http://www.dtcms.com/wzjs/729900.html

相关文章:

  • 去哪个网站找建筑图纸添加qq好友的超链接做网站
  • 滕州网站制作哪家好做商城网站应该用什么程序
  • 企业网站改版方案做网站时图片要切片有什么作用
  • 网站如何调用数据库html语言做的网站和asp的区别
  • 网站模板怎样使用wordpress转shopify
  • 计算机网站设计论文ps制作网站导航图片
  • 茂名建站公司软件项目管理的意义
  • 免费自助网站施工企业科技宣传片
  • 网站编辑用什么软件高端网站建设信息
  • 张店易宝网站建设无线网络优化是做什么的
  • 网站logo模板怎样做商城网站的推广
  • 旅游营销网站开发移动端网页设计尺寸
  • 买卖域名的网站好宝山区建设用地事务所网站
  • 银川网站建设联系电话网址查询备案信息
  • 三创大赛网站建设顺德建设工程交易中心网站
  • 西安网站建设动力无限网站建设 好
  • 网站建设费用多少钱网站建设常用六大布局
  • 怎么在ppt上做网站网站备案查询不出来
  • 昆明网站建设方案外包做图软件ps下载网站有哪些
  • 旅游小镇网站建设方案请别人做网站
  • 网站设计网站建设哪家快网站设计的经营范围
  • 福州网站建设嘉艺WordPress重力表单注册
  • 固安建站公司厦门 建网站
  • 兼职网站项目建设报告无锡网站制作难吗
  • dw制作企业网站温岭做网站公司
  • 昆山 网站建设瑞安市网站建设
  • 网站域名地址台州铭企做的网站
  • 网站建设论文选题表织梦网站漏洞修复
  • 国外有哪做交互设计网站个人中心html模板
  • 网站权重分为几个等级怀化新站优化