今天开始我们讲讲Flask Web实践项目开发中的查看详情功能是如何实现的。

Step1:html 部分

lists +="<tr>"+ //拼凑一段html片段          "<td style='word-wrap:break-word;word-break:break-all; '><input type='checkbox' id='itemid' name='testid' value='"+item.id+"'>"+item.id+"td>"+          "<td style='word-wrap:break-word;word-break:break-all; '>"+item.pms_name+"td>"+          "<td style='word-wrap:break-word;word-break:break-all; '>"+item.content+"td>"+          "<td style='word-wrap:break-word;word-break:break-all; '>"+item.status+"td>"+          "<td style='word-wrap:break-word;word-break:break-all; '>"+item.mark+"td>"+          "<td style='word-wrap:break-word;word-break:break-all; '>"+item.create_time+"td>"+          "<td style='word-wrap:break-word;word-break:break-all; '>" +          "<button class='btn btn-info' id='update' align='center' onclick='update($(this))'>修改button>&nbsp&nbsp"+          "<button class='btn btn-warning' id='updateother' align='center' onclick='detail($(this))'>查看详情button>" +          "td>"      "tr>"});

Step2:javascript部分

function detail(td) {        document.getElementById("pageid").style.display="none"        var tr=td.parent().parent()        console.log(tr);        var tdlist=tr.find("td");        console.log(tdlist);        var id=$(tdlist[0]).find('input').val()        $.ajax({                url: '/getOne/'+id,                type: 'GET',                dataType: 'json',                timeout: 1000,                cache: false,                beforeSend: function () {                    $("#mainbody").html('加载中...');                }, //加载执行方法                error: function () {                    alert("数据加载失败!!!");                },  //错误执行方法                success: function (data) {                    $("#mainbody").html('');                    lists=""                    var jsons=data ? data : [];                    $.each(jsons, function (index, item) {//循环获取数据                        lists +=                            name+" : "+item.pms_name+""+                        content+" : "+item.content+""+                        status+" : "+item.status+""+                        remark+" : "+item.mark+""                     });                    $("#mainbody").html(lists);                }            })}

Step3:Python+Flask 部分

@app.route('/getOne/',methods=['GET'])def getapi(id):    sql="select id,pms_name,content,status,mark,create_time from flask_info where id="+id    api = get_data(sql)    return jsonify(api)

Step4: db部分

def get_data(sql1):#获取sql返回记录数    db = sqlite3.connect('test_flask.db')    cur = db.cursor()    print(sql1)    cur.execute(sql1)    results=cur.fetchall()    cloumn=get_table_colum()    res = {}    reslist = []    print(results)    for r in range(len(list(results))):     for m in range(len(list(cloumn))):         res[str(list(cloumn)[m])] = str(list(results)[r][m])         reslist.append(res)     res = {}     print(reslist)     cur.close()     db.close()     return reslist

查询后得到的数据显示效果如下图所示:

总结:本篇文章主要就是点击每一行数据后面的操作列表里面的【查看详情】按钮,当按钮被点击时$this(也就是当前这一行td标准单元格)会被当成一个参数传入,然后经过javascript 获取到当前这一行数据的id信息,最后将id作为sql里面的where查询条件进行数据查询并返回查询结果进行页面渲染。

友情提示:“无量测试之道”原创著作,欢迎关注交流,禁止第三方不显示文章来源时转载。更多原创文章请扫码关注查看,交流与合作请联系:loadkernel@126.com。

QQ技术交流群:41564936

Shell 编程核心技术《一》

Shell 编程核心技术《二》

Pytest 可视化测试报告之 Allure

python+Appium之APP自动化测试

Python+appium框架原生代码实现App自动化测试

AirTest-selenium基于Web实现UI自动化测试

Python API自动化测试实操

Python 测试框架之 Unittest & Pytest

Python + Flask 项目开发实践系列《一》

Python + Flask 项目开发实践系列《二》

Python + Flask 项目开发实践系列《三》

Python + Flask 项目开发实践系列《四》

Python + Flask 项目开发实践系列《五》

flask python web开发 可视化开发_Python + Flask 项目开发实践系列六相关推荐

  1. flask python web优品课堂_Python Flask Web网站编程全栈开发系列高清视频教程-价值2499...

    0 s: n8 F- K0 _5 i( I Python Flask Web网站编程全栈开发系列高清视频教程& ?- Y2 }3 U1 k9 t/ k! i 这是2016年11月第二期,跟第三 ...

  2. 用python做网站开发的课程_腾讯课堂:Flask Python Web 网站开发

    大家好,欢迎大家学习优品课堂出品的Python完全零基础入我们精讲的系列教程这节课 我们来看第一个,我们先了解一下计算机常识,这节课我们来介绍.计算机的概念和组成,那不仅是开发人员作为普通用户电脑的使 ...

  3. python视频网站项目_价值2400元的python全栈开发系列Flask Python Web 网站编程视频

    2 e/ b4 F1 c' H$ D! X 价值2400元的python全栈开发系列Flask Python Web 网站编程视频-优品课堂' z3 _1 Y7 ]6 j4 z # p# r# g* ...

  4. [Link]选择一个 Python Web 框架:Django vs Flask vs Pyramid

    选择一个 Python Web 框架:Django vs Flask vs Pyramid

  5. 如何用 Python 进行基于深度学习的计算机视觉项目开发?

    令人惊喜的"智能"年代 深度学习有着广阔的前景 我们正处在一个"智能"的年代,比如智能手机中的语音助手.机器翻译和人脸识别:战胜过日本将棋冠军.国际象棋冠军, ...

  6. Web前端开发人员和设计师必读文章推荐【系列六】

    这篇文章收录了十一月份发布在梦想天空的优秀文章,特别推荐给Web开发人员和设计师阅读.梦天空博客关注前端开发技术,展示最新HTML5和CSS3技术应用,分享实用的jQuery插件,推荐优秀的网页设计案 ...

  7. 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识

    浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 一种开发环境在软件项目开发中所起到的开发及管理作用.CASE工具实际上是把原先由手工完成的开发过程转变为以自动 ...

  8. 从Unix开源开发学习应对大型复杂项目开发

    封装与抽象 在 Unix.Linux 系统中,有一句经典的话,"Everything is a file",翻译成中文就是"一切皆文件".这句话的意思就是,在 ...

  9. java项目开发实战入门电子书,java项目开发实战入门全彩版

    <JaWeb项目开发实战入门>以企业门户网.51商城.BBS--程序源论坛.YouKnow问卷.OA办公自动化系统.铭成在线考试系统.K12(中小学)综合测评系统和Show--企业个性化展 ...

最新文章

  1. Ubuntu--开启TELNET服务
  2. 小希的迷宫(并查集)
  3. 利用Attribute特性简化多查询条件拼接sql语句的麻烦
  4. centos 7 安装xfce 4桌面环境
  5. 成功解决UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 28: illegal multibyte sequenc
  6. 剑指offer(26-33题)详解
  7. wfs方式获取最短路径
  8. 华润置地php面试题_从一流到顶流|2020华润置地与沈阳一起美好
  9. [轉]C# 中的委托和事件
  10. std::vector中resize()和reserve()区别
  11. c语言变量命名规则_带你学习C语言—变量
  12. python 文本处理库_实用又好用,6 款 Python 特殊文本格式处理库推荐
  13. ASP.NET的Web Resources 设置教程
  14. Python 2.x 即将终止支持,是时候和 Python 2 讲再见了
  15. SAP ABAP STANDARD TABLE,SORTED TABLE和HASHED TABLE简介
  16. Arduino - 输出引脚扩流
  17. 冷热水龙头_冷热水龙头原理是什么 冷热水龙头原理及结构图
  18. 野路子玩Qt,第十集,八音盒
  19. jmeter与lr区别
  20. 我的世界java版1.7.10咋刷物品,我的世界1.7.10刷物品mod

热门文章

  1. Python 的类其实是一个特殊的对象
  2. Python--unique()与nunique()函数
  3. a标签阻止链接跳转(href=‘javascript:;‘)
  4. vscode如何搜索?ctrl+shift+p
  5. python如何将视频流实时传输到手机?(有问题,一次只能被一台访问)
  6. python matplotlib.pyplot plt.ioff()函数(关闭交互模式用于阻塞程序,不让图片关闭)
  7. 【大数据、数据挖掘、数据分析】用户画像是什么?如何制作用户画像?
  8. 调试的时候step into,step out,step over有什么区别?各有什么作用?分别在什么情况下使用?
  9. 【哲学】为什么威尔·杜兰特在其所著的《哲学的故事》一书中说“所有科学源于哲学,终于艺术?”
  10. ubuntu18.04 更改apt源