django+js+ajax实现刷新页面的方法


Posted in Python onMay 22, 2017

本文实例讲述了django+js+ajax实现刷新页面的方法。分享给大家供大家参考,具体如下:

在服务器开发的时候,为了方便将服务器对外开一个接口来操作,可以使用django制作网页,通过页面来操作服务器。这样可以将服务器的维护工作暴漏在更加友好的界面操作,而非通过SecureCRT去敲指令。而且还能提供给策划运维人员来处理一些常规的事情。

这里将会讲解一个非常小的知识点:

① js如何发起一次请求
② django如何响应请求
③ js接收到响应如何区域刷新页面

js部分

我们先在html中定义一个button,并且将id设置成btnTerminalSvr。定义一个反馈的静态标题ntfText

<h2 id="ntfText" >就绪</h2></br>
<button type="button" class="btn btn-success" id="btnTerminalSvr">关闭服务器</button>

编写js来响应这个button的事件

<script type="text/javascript">
 $('#btnTerminalSvr').on('click', function () {
    alert('嘿,我听说您点击了按钮...' );
    ...
  });
</script>

完善一次ajax请求的请求调用,以及回调之后的处理:

<script type="text/javascript">
 $("#btnTerminalSvr").click(function(){
     $.ajax({
        url: './terminal_svr',
        type: 'POST',
        data: {},
        dataType: 'json',
        timeout: 10000,
        success: function(result) {
        if ( result.result == "post_success" ) {
          $("#ntfText").html("发起成功");
        }else {
          $("#ntfText").html("重复发起了");
        }
        }
       });
  });
</script>

在这里我们能在data里面填写一些json格式的数据结构,这样就能附带一些消息提供给服务器做调用。当调用成功之后他将会回调function(result)。这种写法是js的异步惯用写法,当服务器做出相应之后也我们能通过jQuery框架直接去修改id=ntfText部分的html字符串了。

django部分

第一步:我们先定义django的url相应的映射

url(r'^terminal_svr', views.terminal_svr,name='terminal_svr'),

第二步:在views.py中实现这个处理函数

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def terminal_svr(request):
  # 这里利用了django自身的登陆验证系统
  if not request.user.is_authenticated():
    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/admin/'))
  doSomething to terminal svr
  a = {}
  a["result"] = "post_success"
  return HttpResponse(json.dumps(a), content_type='application/json')

这块就比较简单了,我们可以读取request中的json传过来的信息,并且当操作成功后通过json串返回一个字串给前段来判断是否操作成功。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python网络编程之读取网站根目录实例
Sep 30 Python
python通过floor函数舍弃小数位的方法
Mar 17 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
Django中的用户身份验证示例详解
Aug 07 Python
python3获取url文件大小示例代码
Sep 18 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
django model通过字典更新数据实例
Apr 01 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 Python
python如何支持并发方法详解
Jul 25 Python
SpringBoot首页设置解析(推荐)
Feb 11 Python
Python正则表达式经典入门教程
May 22 #Python
Python AES加密模块用法分析
May 22 #Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 #Python
对Python进行数据分析_关于Package的安装问题
May 22 #Python
详解python之配置日志的几种方式
May 22 #Python
多版本Python共存的配置方法
May 22 #Python
Python中元组,列表,字典的区别
May 21 #Python
You might like
论坛头像随机变换代码
2006/10/09 PHP
PHP 字符串操作入门教程
2006/12/06 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
PHP的引用详解
2015/02/22 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
Python实现获取操作系统版本信息方法
2015/04/08 Python
图解Python变量与赋值
2018/04/03 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Django 再谈一谈json序列化
2020/03/16 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
python从Oracle读取数据生成图表
2020/10/14 Python
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
化学相关工作求职信
2013/10/02 职场文书
教师应聘个人求职信
2013/12/10 职场文书
村委会主任先进事迹
2014/01/15 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
党员转正大会主持词
2015/07/02 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书