0
点赞
收藏
分享

微信扫一扫

js前端动态生成变量及python后端动态生成变量接收

高子歌 2022-01-17 阅读 47

前端代码:

 let sbmt = function(data){
         layui.use('layer', function() {
             var layer = layui.layer;
             $.ajax({
                 url: "{% url 'cutover:maintain' %}",
                        data: data,
                        dataType: 'json',
                        type: 'post',
                        traditional: true,
                        success: function (data) {
                           if (data.status == 1) {
                               console.log(data.msg);
                               //发异步,把数据提交给Python
                                layer.alert(data.msg, {icon: 1}, function () {
                                     let index = parent.layer.getFrameIndex(window.name);
                                        //关闭当前frame
                                     parent.layer.close(index);
                                     parent.window.location.reload();
                                }, 1000);
                                setTimeout(function () {
                                    parent.window.location.reload();
                                }, 1000);
                           } else {
                               console.log(data.msg);
                               layer.msg(data.msg, {icon: 2, time: 3000});
                               $("#mt_staging").removeAttr('disabled');
                               $("#mt_submit").removeAttr('disabled');
                           }
                        },
                    });
                });
            };
            {% if level_type == 2 or level_type == 3 %}
                {% for ck in cut_obj.checknode_set.all %}
                    eval('var bf{{ ck.id }}');
                    bf{{ ck.id }}= UE.getEditor('bf_script' + {{ck.id}}, {
                        'serverUrl': '/ueditor/upload/',
                        toolbars: [[
                            'simpleupload', 'insertimage', 'attachment'
                        ]],
                    });
                    bf{{ ck.id }}.addListener("ready", function () {
                        // editor准备好之后才可以使用
                        bf{{ ck.id }}.setContent('{{ck.cutover_before|safe}}');
                    });
                {% endfor %}

                {% for ck in cut_obj.checknode_set.all %}
                    eval('var af{{ ck.id }}');
                    af{{ ck.id }} = UE.getEditor('af_script' + {{ck.id}}, {
                        'serverUrl': '/ueditor/upload/',
                        toolbars: [[
                            'simpleupload', 'insertimage', 'attachment'
                        ]],
                    });
                    af{{ ck.id }}.addListener("ready", function () {
                        // editor准备好之后才可以使用
                        af{{ ck.id }}.setContent('{{ck.cutover_after|safe}}');
    //
                    });
                {% endfor %}
                let data = {};
                data['level_type'] = {{ level_type }};
                data['id'] = {{ cut_obj.id }}

                 $("#mt_staging").click(function () {
                     $("#mt_staging").attr("disabled", "true");
                     $("#mt_submit").attr("disabled", "true");
                     data['staging'] = 1;
                     {% for ck in cut_obj.checknode_set.all %}
                         data['bf{{ ck.id }}'] = bf{{ ck.id }}.getContent();
                         data['af{{ ck.id }}'] = af{{ ck.id }}.getContent();
                     {% endfor %}
                     sbmt(data)
                });
                 $("#mt_submit").click(function () {
                     $("#mt_staging").attr("disabled", "true");
                     $("#mt_submit").attr("disabled", "true");
                      {% for ck in cut_obj.checknode_set.all %}
                         data['bf{{ ck.id }}'] = bf{{ ck.id }}.getContent();
                         data['af{{ ck.id }}'] = af{{ ck.id }}.getContent();
                     {% endfor %}

                     sbmt(data)
                });

python 后端动态生成变量接收代码:

def maintain(request):
	id = request.POST.get('id')
        cut_obj = cutover.objects.filter(id=id).first()
        cks = cut_obj.checknode_set.all()
        level_type = request.POST.get('level_type')
        staging = int(request.POST.get('staging',0))
        bf,af = {},{}

        if int(level_type) in (2,3):
            for node in cks:
                bf['bf'+str(node.id)] = request.POST.get('bf'+str(node.id))
                af['af'+str(node.id)] = request.POST.get('af{}'.format(node.id))
                CheckNode.objects.filter(cutover=cut_obj,id=node.id).update(
                    cutover_before=bf['bf'+str(node.id)],
                    cutover_after=af['af'+str(node.id)],
                    staging=staging
                )
        data = {
            'msg':'保存成功',
            'status':1
        }

        return JsonResponse(data)
举报

相关推荐

0 条评论