首页 > 其他 > 详细

11-crm项目-kingadmin,只读字段的配置和后端校验

时间:2020-09-17 21:40:04      阅读:55      评论:0      收藏:0      [点我收藏+]

现实需求中,会有在编辑的时候有部分字段是只读的,不能修改的,这个功能如何实现?

1,首先是在基类中,增加一个只读字段的配置,

class BaseAdmin(object):
    list_display = []
    list_filters = []
    search_fields = []
    list_per_page = 20
    ordering = None
    filter_horizontal = []
    readonly_fields = []  ----只读字段

 

2,在编辑页面,在展示字段的时候判断字段是否在这个只读字段里面里面,

如果在的话就给这个字段做处理

处理逻辑:

2.1 在实现的时候有disabled的属性来控制,但是会有问题,这样提交数据的时候form表单不提交这个字段的数据了

怎么办:

2.1.1 使用js在提交时候把disabled去掉?

    function SelectAllChosenData() {

        $("select[tag=‘chosen_list‘] option").each(function () {
            $(this).prop("selected",true);
        })

        //remove all disabled attrs
        $("form").find("[disabled]").removeAttr("disabled") ;

        return true;
    }

 

2.1.2 改成p标签?不行,p标签不会在form表单中提交,

2.1.3 直接从数据库中取这个值?

2.2 不能使用只读属性:因为这个下拉框还能下拉下来,并且还能修改选中的值,这是不行的

<input type="text" name="country" value="China" readonly="readonly" />

 

3,前端验证完了后端也要验证,否则前端改了后端不校验还是没有用,

 

11-crm项目-kingadmin,只读字段的配置和后端校验

原文:https://www.cnblogs.com/andy0816/p/13687364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!