django+layui+js 动态获取复选框的值,前端上传及后端获取复选框的值

自用运维平台的权限系统中有涉及到一个用户管理的功能,其中包含了用户的角色修改,用户和角色是多对多的关系,前端编辑界面的角色展示为了减少更新麻烦,采用动态从后端获取角色列表,这样后端修改也不需要前端去做更新,管理界面的配置用户角色的地方需要用到复选框,因为是多对多,这里用js去完成修改后赋值到初始字段中,使后端可以轻易的读取,

前端用户管理界面

在这里插入图片描述
点击编辑按钮,弹出对应的用户信息,这里是之前写的如何给子页面赋值
在这里插入图片描述
可以看到这里的角色是可以多选的,而且这些选项是动态从后端获取的。

动态获取角色(获取复选框)

由于这个编辑按钮是在用户管理这个界面,所以我在后端定义了当用户管理界面模板有请求时就会把数据库的所有roles以列表的形式存到session中,所以当用户去点击编辑时,session中已包含角色的相关值,前端模板再从session获取遍历取值动态展示

访问用户管理界面时,后端django代码

#用户管理模板
def index(request):
    if request.method == 'GET':
        # 添加到操作记录
        act_data = "访问用户界面"
        act_result = "成功"
        a = act_history(request, act_data, act_result)
        obj = Role.objects.all().values("title")
        roles_list = [i['title'] for i in obj]
        request.session["roles"]= roles_list
        print(roles_list)
        return render(request,'web/user/user.html')

前端编辑页面动态获取角色的代码

<div class="layui-form-item">
        <label class="layui-form-label">所属角色</label>
            <div class="layui-input-block">
                {% for i in request.session.roles%}
                    <input type="checkbox" name="roles" title="{
    {i}}" value="{
    {i}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒙多不减肥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值