栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django 使用messages发送到前端alert解决阻断问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django 使用messages发送到前端alert解决阻断问题

最近是用django开发前端发现问题,使用message发送到前端的时候,需要一个弹出层,但使用alert总是会阻断前端的进程,这样就导致,页面效果下降,在网上找了很多办法,都是使用这个阻塞进程,没找到怎么不让它阻塞的. 

最后总结是因为在执行js代码的位置有关系,每次都会加载那里,然后就会阻断,页面才会继续向下渲染. 

#这是部分的函数代码
  username = request.GET.get('name1')
    new_id=request.GET.get('new_id') #邀请码的值
    print(username)
    print(new_id)
    if len(username) !=0 and len(new_id) != 0:

        cursor = connection.cursor()
        cursor.execute('select * from huod where uname="%s"' % (username))   #查询新玩家是否合法,
        user = list(cursor.fetchall())
        if user and user[0][1] > time:
             #判断是否已经领取过了
             if  len(user[0][2])==0 :
                #新用户存在,判断邀请码合法性
                cursor.execute('select uname from huod where ujdk="%s"' % (new_id))
                old_user_list=cursor.fetchall()
                old_user=old_user_list[0][0]
                print(old_user)
                # print("邀请他的老用户:"+ old_user)
                if old_user:
                    print("ujdk存在")
                    cursor.execute('select num from huod where uname="%s"' % (old_user))
                    old_user_num = cursor.fetchall()
                    old_num = list(old_user_num)[0][0]
                    new_num = old_num + 1
                    print(new_num)
                    #统计老玩家的邀请数量,给他
                    cursor.execute('update huod set num=%s where uname="%s"' % (new_num,old_user))
                    cursor.execute('update huod set ujdk=8 where uname="%s"' % (username))
                    cursor.close()
                    title = '恭喜您参加活动成功!祝您游戏愉快!'
                    messages.success(request, title)
                    return render(request, 'test.html')
                else:
                 title = '邀请码不合法,请重新输入!'
                 messages.success(request, title)
                 return render(request, 'test.html')
             else:
                 title = '您已经参加过该活动了哦!'
                 messages.success(request, title)
                 return render(request, 'test.html')
        else:
            title = '该用户不存在或已经是老玩家了,请重新输入'
            messages.success(request, title)
            return render(request, 'test.html')
    else:
        title = '请输入用户名和邀请码'
        messages.success(request, title)
        return render(request,'test.html')

#这里就是需要将提示信息发给前端用户.

最后就是修改前端js代码和他的位置: 

#将触发的这一段代码,放到了html页面的最下面最后在进行加载,调用
{% if messages %}

{%  endif %}

再次执行后效果:可以看到后面是有背景了,渲染了,而不是白色阻断的效果.

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1037767.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号