侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

对django layer弹窗组件的使用详解

框架(架构)  /  管理员 发布于 7年前   199

父层:

  <div class="col-xs-12">   <div class="box">   <div class="box-header">    <h3 class="box-title">主机监控列表</h3>   </div>   <!-- /.box-header -->   <div class="box-body" style="overflow: auto">    <table id="example2" class="table table-bordered table-hover">    <thead>    <tr>     <th>ID</th>     <th>标签</th>     <th>IP地址</th>     <th>主机名</th>     <th>监控用户名</th>     <th>主机通断告警</th>     <th>CPU使用率告警</th>     <th>内存使用率告警</th>     <th>磁盘使用率告警</th>     <th style="width: 10px"></th>     <th style="width: 10px"></th>    </tr>    </thead>    {% for linux_server in linuxs_servers %}     <tr>     <td>{{ forloop.counter }} </td>      <td>{{ linux_server.tags}} </td>     <td>{{ linux_server.host}} </td>     <td>{{ linux_server.host_name}} </td>     <td>{{ linux_server.user}} </td>     <td align="center">{{ linux_server.connect_cn}} </td>     <td align="center">{{ linux_server.cpu_cn }} </td>     <td align="center">{{ linux_server.mem_cn }} </td>     <td align="center">{{ linux_server.disk_cn }} </td>     <td>    <div class="box-tools pull-right">    <a href="" rel="external nofollow" >   <button type="button" class="btn btn-default btn-sm" οnclick="return pop(this.value)" value="{{ linux_server.id }}"><i class="fa fa-edit"></i></button></a>    </div>     </td>     <td>    <div class="box-tools pull-right">    <a href="https:linux_servers_del?id={{ linux_server.id }}" rel="external nofollow" >   <button type="button" class="btn btn-default btn-sm"><i class="fa fa-trash-o"></i></button></a>    </div>     </td>     </tr>     {% endfor %}    </table>   </div>   <div class="box-footer clearfix">   <span class="step-links">  {% if linuxs_servers.has_previous %}   <a href="https:/article/?page_linux={{ linuxs_servers.previous_page_number }}" rel="external nofollow" >上一页</a>  {% endif %}  <span class="current">   当前页{{ linuxs_servers.number }} 共计{{ linuxs_servers.paginator.num_pages }}  </span>  {% if linuxs_servers.has_next %}   <a href="https:/article/?page_linux={{ linuxs_servers.next_page_number }}" rel="external nofollow" >下一页</a>  {% endif %}   </span>   <div class="pull-right">    <a href="https:linux_servers_add" rel="external nofollow" class="btn btn-primary btn-block btn-flat">新增</a>    </div>   </div>   <!-- /.box-body -->   </div>   <!-- /.box -->  {#用于接收linux_server__edit.html中layui子层的传值#}  <input id="handle_status" value="" hidden="hidden">  </div>

点击编辑按钮,执行方法:

<script>function pop(n){ layer.open({ type: 2, title: '编辑主机信息', closeBtn: 1, area: ['700px', '550px'], shadeClose: true, //点击遮罩关闭 content: ['/linux_servers_edit?id='+n,], end:function(){   var handle_status = $("#handle_status").val();   if ( handle_status == '1' ) {    layer.msg('保存成功!',{     icon: 1,     time: 2000 //2秒关闭(如果不配置,默认是3秒)    },function(){     history.go(0);    });   } else if ( handle_status == '2' ) {    layer.msg('修改失败!',{     icon: 2,     time: 2000 //2秒关闭(如果不配置,默认是3秒)    },function(){     history.go(0);    });   }  } });}</script>

--linux_server_edit编辑方法:

@login_required(login_url='/login')def linux_servers_edit(request): status = 0 rid = request.GET.get('id') linux_server_edit = models_linux.TabLinuxServers.objects.get(id=rid) if request.method == "POST":  if request.POST.has_key('commit'):   tags = request.POST.get('tags', None)   host_name = request.POST.get('host_name', None)   host = request.POST.get('host', None)   user = request.POST.get('user', None)   password = base64.encodestring(request.POST.get('password', None))   connect_cn = request.POST.get('connect', None)   connect = tools.isno(connect_cn)   cpu_cn = request.POST.get('cpu', None)   cpu = tools.isno(cpu_cn)   mem_cn = request.POST.get('mem', None)   mem = tools.isno(mem_cn)   disk_cn = request.POST.get('disk', None)   disk = tools.isno(disk_cn)   models_linux.TabLinuxServers.objects.filter(id=rid).update(tags=tags,host_name=host_name, host=host, user=user,     password=password, connect_cn=connect_cn,     connect=connect,     cpu_cn=cpu_cn, cpu=cpu, mem_cn=mem_cn, mem=mem,     disk_cn=disk_cn, disk=disk)   status = 1  elif request.POST.has_key('logout'):   logout(request)   return HttpResponseRedirect('/login/')  return render_to_response('linux_servers_edit.html', {'linux_server_edit': linux_server_edit,'status':status})

对应的template

<!DOCTYPE html><!--This is a starter template page. Use this page to start your new project fromscratch. This page gets rid of all links and provides the needed markup only.--><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>DB monitor | Starter</title> <!-- Tell the browser to be responsive to screen width --> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <link rel="stylesheet" href="https:static/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow" > <!-- Font Awesome --> <link rel="stylesheet" href="https:static/bower_components/font-awesome/css/font-awesome.min.css" rel="external nofollow" > <!-- Ionicons --> <link rel="stylesheet" href="https:static/bower_components/Ionicons/css/ionicons.min.css" rel="external nofollow" > <!-- Theme style --> <link rel="stylesheet" href="https:static/dist/css/AdminLTE.min.css" rel="external nofollow" > <!-- AdminLTE Skins. We have chosen the skin-blue for this starter  page. However, you can choose any other skin. Make sure you  apply the skin class to the body tag so the changes take effect. --> <link rel="stylesheet" href="https:static/dist/css/skins/skin-blue.min.css" rel="external nofollow" >  <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]-->  <!-- Google Font --> <link rel="stylesheet"  href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic" rel="external nofollow" ></head><!--BODY TAG OPTIONS:=================Apply one or more of the following classes to get thedesired effect|---------------------------------------------------------|| SKINS   | skin-blue        ||    | skin-black        ||    | skin-purple        ||    | skin-yellow        ||    | skin-red        ||    | skin-green        ||---------------------------------------------------------||LAYOUT OPTIONS | fixed         ||    | layout-boxed       ||    | layout-top-nav       ||    | sidebar-collapse      ||    | sidebar-mini       ||---------------------------------------------------------|--><body class="hold-transition skin-blue sidebar-mini"><div class="wrapper">   <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) -->  <!-- Main content --> <section class="content container-fluid">   <!--------------------------  | Your Page Content Here |  -------------------------->  <!-- Main content --> <section class="content">  <div class="row">  <div class="col-xs-12">  <div class="box box-solid">   <!-- form start -->   <form class="form-horizontal" action="" method="POST">    <div class="box-body">     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">标签</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="tags" value={{ linux_server_edit.tags }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">主机名</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="host_name" value={{ linux_server_edit.host_name }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">主机IP</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="host" value={{ linux_server_edit.host }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">监控用户名</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="user" value={{ linux_server_edit.user }}>     </div>    </div>    <div class="form-group">     <label for="inputPassword3" class="col-sm-2 control-label">监控用户密码</label>     <div class="col-sm-10">     <input type="password" class="form-control" name="password" value={{ linux_server_edit.password }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">通断告警</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="connect" value={{ linux_server_edit.connect_cn }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">CPU使用率告警</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="cpu" value={{ linux_server_edit.cpu_cn }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">内存使用率告警</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="mem" value={{ linux_server_edit.mem_cn }}>     </div>    </div>     <div class="form-group">     <label for="inputEmail3" class="col-sm-2 control-label">磁盘使用率告警</label>     <div class="col-sm-10">     <input type="text" class="form-control" name="disk" value={{ linux_server_edit.disk_cn }}>     </div>    </div>      <!-- /.box-body -->    <div class="box-footer">    <button type="submit" class="btn btn-info pull-right" name="commit">保存</button>    </div>    </div>    <!-- /.box-footer -->   </form>   </div>   <!-- /.box -->  </div>  <!-- /.col -->  </div>  <!-- /.row --> </section> </section> <!-- /.content --> </div> <!-- /.content-wrapper -->  <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar --> <div class="control-sidebar-bg"></div></div><!-- ./wrapper --> <!-- REQUIRED JS SCRIPTS --> <!-- jQuery 3 --><script src="https:static/bower_components/jquery/dist/jquery.min.js"></script><!-- Bootstrap 3.3.7 --><script src="https:static/bower_components/bootstrap/dist/js/bootstrap.min.js"></script><!-- AdminLTE App --><script src="https:static/dist/js/adminlte.min.js"></script> <!-- Optionally, you can add Slimscroll and FastClick plugins.  Both of these plugins are recommended to enhance the  user experience. -->{#回传参数至父层#}<script type="text/javascript">  var index = parent.layer.getFrameIndex(window.name);  var success = {{ status }};  if ( success == '1' ) {   parent.$("#handle_status").val('1');    parent.layer.close(index);  } else if( success == '2' ) {   parent.$("#handle_status").val('2');   parent.layer.close(index);  }</script></body></html>

以上这篇对django layer弹窗组件的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


  • 上一条:
    Django之PopUp的具体实现方法
    下一条:
    利用rest framework搭建Django API过程解析
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Filament v3.1版本发布(0个评论)
    • docker + gitea搭建一个git服务器流程步骤(0个评论)
    • websocket的三种架构方式使用优缺点浅析(0个评论)
    • ubuntu20.4系统中宿主机安装nginx服务,docker容器中安装php8.2实现运行laravel10框架网站(0个评论)
    • phpstudy_pro(小皮面板)中安装最新php8.2.9版本流程步骤(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2018-05
    • 2020-02
    • 2020-03
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-11
    • 2021-03
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-08
    • 2023-08
    • 2023-10
    • 2023-12
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客