python使用pdb进行断点调试

使用pdb进行断点调试我们需要在需要断点的位置添加pdb.set_trace()如果使用这种方式进行调试,我们可以直接运行python脚本即可开始调试另外我们还可以使用命令行来调试b line_number如果是这样我们需要执行python -m pdb xxx.py这种方式来启动断点调试下面我们来介绍下常用命令参数1进入命令行Debug模式,python-mpdbxxx.py2h:(help)帮助3w:(where)打印当前执行堆栈4d:(down)执行跳转到在当前堆栈的深一层(个人没觉得有什么用处...

阅读全文

Flask开启请求异步的两种方式

Flask是单线程运行,如果在某个页面中执行了一些耗时的工作,那么程序就会在这里等待,无法响应其他的请求。也就是说,如果一个路由响应函数中有阻塞代码,那么其他用户无法访问这个web服务器,而且自己也打不开其他页面了。那么如何解决这个问题呢?这里提供两种解决方案第一种方案开启flask线程app.run(host='0.0.0.0', port=5000, debug=False)#改为app.run(host='0.0.0.0', port=5000, debug=Fa...

阅读全文

flask自定义过滤器的两种用法

之前有一篇笔记讲过了过滤器的定义和使用,但是是基于jinja2模板引擎的,可以先看看我过去的笔记:https://sulao.cn/post/551.html其实flask内也带有过滤器,实例对象的过滤器方法是add_template_filter,他的用法有两种我们还是按照大型项目的标准来,在工厂函数中去注册过滤器第一种方式我们现在统一的文件中创建过滤器函数,我的文件命令是filter.py内容如下#!/usr/bin/python3#coding:utf-8__author__ = 'yang.su'i...

阅读全文

flask接收layui复选框提交数据的几种方法

由于前端页面的需求不一样,有些页面使用的layui的数据表格监听传递数据,有些则是使用分页模块自行编写的ajax提交方式,前者通过重载表格种的where条件添加参数来提交到后端进行数据的重新渲染,后者根据ajax写的方式有两种接收方法,真是实践了一下,写法稍有不通,后面传递的参数名也是不一样的1.数据表格的重载方式,我的代码如下,主要是接收id复选框的值htmL代码:<div class="layui-inline" style="width: 300px;">&nbs...

阅读全文

python3使用reduce函数去掉列表中重复的字典元素

在Python3中,reduce()函数已经被从全局名字空间里移除了,它现在被放置在functools模块里,如果想要使用它,则需要通过引入functools模块来调用reduce()函数#!/usr/bin/python3#coding: utf-8from functools import reducelist_dict = [{"name":"sulao"},{"nick":"merci...

阅读全文

python对列表和字典进行排序的方法

我们之前已经学过对列表进行排序了,比较简单,主要使用的sort和sorted两个方法,这两个方法可以看看我的历史笔记:https://sulao.cn/post/370.html1.列表的排序之前的笔记即可2.包含字典的列表进行排序对包含字典的列表进行排序的方法,我们需要使用到operator模块#!/usr/bin/python3#coding: utf-8import operatorls = [{"id": 1, "name": ...

阅读全文

requests模块用法总结

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到之前没有记录这个模块的使用方法,现在补充记录下首先我们安装这个模块pipinstallrequests然后主要的用法以下几种post/get请求r = requests.get("http://www.sulao.cn/") 我们可以传参进去通常,你想要发送一些编码为表单形式的数据—非常像一个HTML表单。要实现这个,只需简单地传递一个字典给 data 参数。你的数据字...

阅读全文

flask提供全局模板变量的两种方法

我们经常要在所有模板中提供一组自己定义的函数或者变量,那么不可能去视图函数中一个个的把函数或者变量传入模板,那样真的很麻烦,就拿导航来说吧,每个前台的模板都需要这组变量,那么flask中可以有两种方法来实现这个需求1.使用add_template_global函数app.config.from_pyfile('settings.py')def getServerIp():    serverip = app.config.get('HOST')...

阅读全文

flask第三方登陆插件flask_login用法详解

flask_login模块主要是用来验证登陆的插件,使用起来肯定比自己写要方便得多Flask-Login通过usersession,提供登录的常见任务,比如登入(loggingin)、登出(loggingout)和当前用户(currentuser)login_user()函数:实现用户的登入,一般在登入的视图函数中调用logout_user()函数:实现登出功能current_user属性:获取当前用户对于使用者来说,如果需要页面是授权用户才可见,在相应视图函数前加上@login_required装饰器进行声明即可,@log...

阅读全文

Python多线程中join和setDaemon的区别及用法

Python多线程编程时,经常会用到join()和setDaemon()方法,今天找些文件研究了一下两者的区别join()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join(),那么,主线程A会在调用的地方等待,直到子线程B完成操作后,才可以接着往下执行,那么在调用这个线程时可以使用被调用线程的join方法。原型:join([timeout])里面的参数时可选的,代表线程运行的最大时间,即如果超过这个时间,不管这个此线程有没有执行完毕都会被回收,然后主线程或函数都会接着执行的。例子:import threadingimpo...

阅读全文