- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 Python之Flask框架~日志
1.日志定义以及Flask框架日志的历史日志,顾名思义就是用来记录整个项目的一些运行情况,主要包括运行的错误记录, 运行的关键步骤记录等,以便可以在项目运行之后找到回溯的原因,更加地协助去调整代码。有时候可能会遇到数据出错需要纠正的情况。例如因为用户篡改了数据或客户 端代码出错而导致一个客户端代码向服务器发送了明显错误的 HTTP 请求。多 数时候在类似情况下返回 400 Bad Request 就没事了,但也有不会返回的 时候,而代码还得继续运行下去。这时候就需要使用日志来记录这些不正常的东西了。
2024-03-30 11:08:25
1055
1
原创 Python之Flask框架~四大内置对象
2. 在同一请求期间, g 对象可以在不同的函数之间共享数据,但不能在不同的请求之间共享数据。1. g 对象只在当前请求的上下文中可用, 如果你尝试在请求之外的上下文中访问 g 对象, 将会引发错误,3. 避免在 g 对象中存储大量数据,因为它是绑定到请求上下文的,存储大量数据可能会引起性能问题。如下代码所示request获取到了用户的ip,如果用户频繁访问,会进行防爬取提示。用, 可以保存在g对象中, 在其他视图西数中就可以使用这个数据.g对象在一次请求中的所有的代码的地方, 都是可以使用的。
2024-03-01 17:43:26
690
原创 Python之FastAPI框架~浅谈sqlalchemy与tortoise
一直想理解清楚FastAPI框架的异步框架tortoise,据说这个框架使用起来能够更好地与FastAPI异步框架继承,但是FastAPI框架官方介绍的是sqlalchemy框架,它是同步的,是不支持await的。而Tortoise则有自己的数据库迁移工具Aerich,可以方便地进行模式管理和迁移,迁移的方法类似于Flask框架的flask-sqlalchemy框架,但是Aerich不支持跨数据库迁移,因此需要在本地环境和生产环境都使用相同的数据库引擎。在FastAPI的核心对象所在的文件中配置引擎。
2024-01-25 21:05:02
1885
原创 Python之FastAPI框架~搭建FastAPI开发环境
在FastAPI项目中python创建虚拟环境的方法跟python其他框架项目的创建方法也差不多,可以使用不同的虚拟环境管理模块比如Anaconda,Pipenv, poetry,virtualenv, 使用python自带的命令来创建环境步骤会简单一些。(3)创建虚拟环境命令:某盘:\xx\...\python.exe -m venv 虚拟环境名称,注意使用python3.6+版本。(4)激活虚拟环境。(1)确保你已经安装了Python。(2)在命令行或IDE终端中,切换到你希望创建虚拟环境的目录。
2024-01-18 16:24:10
704
原创 Python之Flask框架—Flask原理
开发的时候一般设置True,这样如果视图有错误,在浏览器中会报出来,方便调试代码,项目上线需要改成False。static_folder="static", 静态文件目录,相当与django的STATICFILES_DIRS。static_host=None,静态文件根目录,相当与django的STATICFILES_ROOT。static_url_path=None, 静态文件路由,相当于 django的STATIC_URL。如果当前py文件被导入,__name__就是当前py的名字。
2024-01-15 11:28:31
419
原创 Python之Flask框架介绍
它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
2024-01-15 10:47:10
414
原创 Python之Flask框架~多表操作~一对多
(1)外键是在一对多中的多的一方,原因是为了方便数据的处理,加入把外键放在“一”这一方,就会出现班级模型对象中的外键某行的值会有多个学生id,在进行数据操作时候还得查找出来具体的学生id去关联学生对象模型的学生数据,这样就显得比较麻烦;“一对多”是指关系型数据库中的模型对象的一对多的模型关系,它表示一个模型(即表)的一条记录(即行)对应多个另一个模型(即另一个表)的记录。简单来说,一个模型中的一个记录关联另一个模型中的多个记录。比如一个班级对象有多个学生对象。以班级对象以及学生对象为例写个代码。
2024-01-12 15:22:25
506
原创 Python之Flask高级~钩子函数
效果如下,before_func函数会使用cache模块获取用户的ip,如果某个用户的IP请求太频繁会进行警告,若是初次访问则对该IP设置有效期,本次示例是1秒内限制访问,1秒后还是可以再次访问,没做其他复杂限制。钩子函数就是中间件,利用的编程思想就是AOP编程,也就是面向切面编程思想,比如在用户端以及在服务器端进行“切开”,设置钩子函数,通俗地讲就是两者之间设置一个函数组件进行某些操作达到比如反爬,防御攻击等的目的。(1)三个钩子函数中,最常用的是before_request,现直接上代码示范一下;
2024-01-11 16:00:41
849
原创 Python之FastAPI框架简介
1.简介2.关键特性:可与和并肩的极高性能(归功于 Starlette 和 Pydantic)。。:提高功能开发速度约 200% 至 300%。3.部分赞助商4.两大核心组件5.安装你还会需要一个 ASGI 服务器,生产环境可以使用或者。
2024-01-04 18:17:04
636
原创 Python之Flask框架~多表操作~多对多
Python之Flask框架~多表操作~多对多1.定义“多对多”是指关系型数据库中的模型对象的多对多的模型关系,它表示一个模型(即表)的多条记录(即行)对应多个另一个模型(即另一个表)的记录。简单来说,一个模型中的多个记录关联另一个模型中的多个记录。比如多个用户对象可以收藏多部电影对象。以用户对象以及电影对象为例写个代码from enum import Enumclass GenderEnum(Enum): MALE = '男' FEMALE = '女'
2023-12-29 16:43:58
571
原创 Python之Flask框架~插件的使用
在flask当中,以flask开头的包一般就是flask插件,比如之前在orm模型以及数据迁移时候使用的“flask_sqlalchemy”, “flask_migrate”。在什么时候用到这个flask_cache呢,缓存一般是用在请求非常频繁且不改动的数据上,现实中比如京东官网的首页,访问的人数巨多,那么可以将这个首页做个缓存,这样当有大量请求时,直接通过缓存加载出首页就非常高效了,给用户的体验也很好。-----------我是有底线的!-----------5.flask_cache使用。
2023-12-29 14:50:07
464
1
原创 PaddleHub识别中文人名实战记录及心得
配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用,PaddleHub旨在为开发者提供丰富的、高质量的、直接可用的预训练模型。
2023-01-09 18:11:10
830
2
原创 jieba识别中文人名实战记录及心得
我理解的jieba官方的目标是做最好的python中文分词组件,但是在网上一搜,很多文章直接说成了是最好的中文分词组件,我看是误解了原文意思,就目前来说jieba分词在解决中文歧义方面还是解决不了(接下来会通过代码实战说明),所以精确度不是最好,也就不能说是最好的中文分词组件了,在此做个记录以便后期找到更好的中文分词组件.现在这类自然语言处理模块越来越多,关于好不好而言,只能说没有最好,只有更好,因为每个中文分词组件都在更新和进步.
2023-01-09 15:28:25
3066
原创 stanfordcorenlp识别中文人名实战记录及心得
StanfordCoreNLP实战记录总体来说,StanfordCoreNLP对于中文人名的识别,个人觉得准确率不够,而且安装步骤复杂,中间很容易出错,对于有高精度的识别的需求就不适用了,如果还有更好的关于StanfordCoreNLP的方法还请指正.
2022-10-08 19:45:48
1187
原创 【pandas之聚合函数agg方法实战记录】
在pandas中, 为了统一计算多列数据的不同值不如求和,计数,最大值,最小值,中位数,平均值等,引入agg聚合函数,agg和aggregate两个函数指向同一个方法,使用时写任意一个即可。使用agg聚合函数进行统计各种类型的值时,先要进行groupby分组操作,按照需要统计的某一个维度(某一列)统一进行聚合计算(count,sum,max.mean等)
2022-08-24 17:44:45
2097
原创 关于“Push to origin/master was rejected”的解决方案,强烈推荐,跟大多数网上方法不一样
前言:查了很多关于解决这个问题的方法,网上大部分的方法都是:1,找到项目目录,右击选择“Git Bash Here”;2,这时跳出命令行窗口,接着依次输入:git pull gitpull origin master ...
2020-03-06 21:12:42
557
原创 学习笔记(05):Python 面试100讲(基于Python3.x)-在JSON序列化时如何处理日期类型的值...
本课程搜集了各大互联网公司的Python面试题以及类似的题目。课程体系包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
2020-02-27 22:02:51
178
原创 pymysql的使用
总共分为八个步骤:1.导包2.连接数据库3.创建游标对象4.定义sql语句5.执行6.获取数据的方式7.关闭游标连接8.关闭数据库# 1.导包import pymysql# 2.连接数据库# 例如connect=pymysql.connect(host="192.168.6.41",user="lrtsaudio",password="2&Ty3...
2020-02-27 21:53:35
228
原创 学习笔记(04):Python 面试100讲(基于Python3.x)-请详细描述print函数的用法
本课程搜集了各大互联网公司的Python面试题以及类似的题目。课程体系包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
2020-02-27 20:42:46
237
原创 学习笔记(03):Python 面试100讲(基于Python3.x)-改变字符串首字母的大小写
本课程搜集了各大互联网公司的Python面试题以及类似的题目。课程体系包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
2020-02-26 21:44:25
120
原创 学习笔记(02):Python 面试100讲(基于Python3.x)-各种类型的变量与值之间的多种连接方式...
本课程搜集了各大互联网公司的Python面试题以及类似的题目。课程体系包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
2020-02-26 17:14:48
141
原创 学习笔记(01):Python 面试100讲(基于Python3.x)-设置Python模块搜索路径有几种方式,如何使用...
本课程搜集了各大互联网公司的Python面试题以及类似的题目。课程体系包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
2020-02-24 18:32:54
131
原创 认识selenium+phantomjs爬取大多数网站数据基本原理及应用
1,前言:为什么selenium+phantomjs可以获取大多数网站数据?原因:正常requests模块得到的响应内容全部是js代码,因为很多网站得到的响应内容全部是js代码,没有页面数据,无法通过xpath等一下提取数据的方法获取数据。而selenium+phantomjs可以做到,获取页面数据之后,运行响应中的js代码,来完整的获取到想要数据。2,认识selenium及phant...
2019-09-29 21:16:30
286
原创 爬虫爬取方法分析与反爬虫策略
爬虫(Spider),反爬虫(Anti-Spider)前言:网络爬虫(Spider或Crawler),顾名思义,就是在互联网上爬行的虫子,那么这只虫子为什么要在网上爬行呢?很简单:收集信息。在互联网时代,谁掌握了信息谁就把握了主动权。一,爬虫部分一些简单建议:(1...
2019-09-29 20:28:40
552
原创 正则表达式re模块
正则表达式re模块 compile函数运用方法 :将正则表达式编译成一个pattern对象,这样在运用时候就不用每次输入正则表达式对象 p = re.compile('正则表达式',flag) 例如:import retext = ...
2019-09-29 16:04:10
203
原创 认识代理服务器
代理服务器 1代理的原理: 代理服务器可以理解为信息中转站,设置代理之后,我们的请求不是直接发送给web服务器,而是先发送给代理服务器。返回的响应也是先给代理,代理在给我们。 2.代理的作用与功能: 1、突破自身IP 访问限制, ...
2019-09-25 21:10:42
294
原创 requests模块爬取数据操作流程
一,requests模块介绍:是一个可以模拟浏览器的请求,用于网络访问的第三方模块,其实类似的模块有很多,比如urllib,urllib2,比起urllib,requests模块的api更加便捷(本质就是封装了urllib3)注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求二,安装requests模块的配置...
2019-09-24 21:04:47
947
原创 mysql-5.7.25-winx64安装步骤及卸载步骤详情
**mysql-5.7.25-winx64安装步骤及卸载步骤详情**安装步骤1.把mysql-5.7.25-winx64.zip解压放到C盘目录下2.MySQL软件bin目录添加到PATH环境变量中 C:\mysql-5.7.25-winx64\bin3.在MySQL安装目录下创建my.cnf文件,打开方式可以是txt格式4.my.cnf中粘贴默认选项[my...
2019-07-25 21:41:19
1860
mysql-5.7.25-winx64安装及卸载步骤详情.txt
2019-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人