
python
只要思想不滑坡办法总比困难多--小鱼干
小鱼干吃小鱼干的程序员之路,每天写一下代码防止抑郁。
展开
-
Django数据库连接丢失问题的解决方法
如果客户端使用一个连接查询多次数据库,如果连续查询则没有问题,如果查询几次后停顿超过wait_timeout后再次查询就会出现数据库连接丢失。django为了减少不必要的数据库连接、关闭,复用了数据库连接,当开始一个请求后建立一个连接池存放连接,之后此次请求都复用一个连接。而我们报错的是在一次请求中,所以此法通常无效,仅仅是实现每个请求关闭并重新建立连接。这一切的背后, 是人性的扭曲还是道德的沦丧?一般情况不会出现此类问题,因为一个请求中不间断进行数据库查询,无需每个请求调用此方法,杞人忧天。原创 2022-08-24 22:53:34 · 1728 阅读 · 0 评论 -
安装、升级pip,但是python -m pip install --upgrade pip报错的解决办法
在命令窗中我按照要求,进行升级,敲入‘python -m pip install --upgrade pip’,但是提示我安装失败。 这个时候我看到,检查升级不能覆盖,这个时候可以去到你的安装目录(venv/Lib/site-packages),找到site-packages文件夹,把原来的pip-10.0.1.dist-info这个消息目录删除,(很多时候的安装不成功都是和这个目录有关系)。下图我是删除后重新升级后的目录。再次运行 后升级成功,之前不能安装的包也能安装了!...原创 2022-06-26 22:20:01 · 9765 阅读 · 6 评论 -
Django REST Framework API和RESTful接口规范
API是指某个应用程序封装好的一些函数,是提供给其他应用程序或开发人员使用的。通过API,可以方便的使用的本应用程序的功能,而无需了解本应用程序的内部源码。Web API是API中的一类,它的功能与广义上的API是一样的,只是它提供给外界的是一些url规则而非函数,包括下面4个部分:url:url链接;请求方式:get、post、patch、delete等;请求参数:json或xml格式的key-value类型数据;响应结果:json或xml格式的key-value类型数据。REST是REpresen原创 2022-06-26 20:05:07 · 458 阅读 · 0 评论 -
Django的中间件
分别是:(主要的是process_request和process_response)以上方法的返回值可以是None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。process_request process_request有一个参数,就是request,这个request和视图函数中的request是一样的。它的返回值可以是None也可以是HttpResponse对象。返回值是原创 2022-06-26 17:16:39 · 259 阅读 · 0 评论 -
python面向对象的三大特征:封装、继承、多态
隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”, 只对外暴露“相关调用方法”,通过前面的“私有属性、私有方法”的方式,实现“封装”。Python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有属性和私有方法.有如下要点: 1.通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。 2.类内部可以访问私有属性(方法) 3.类外部不能直接访问私有属性(方法) 4.类外部原创 2022-06-26 14:45:11 · 401 阅读 · 0 评论 -
DjangoFBV和CBV的理解
FBV(function based views),即基于函数的视图。FBV 简单易懂,但是难以复用。它们不能像 CBV 那样能从父类中继承。FBV 的编写指南要求我们:视图代码越少越好;视图代码不能重复;视图应该只处理呈现逻辑。业务逻辑应尽可能放在数据模型中,或者表单对象中;视图代码要保持简单;使用它们来编写自定义的 403, 404, 500 等错误处理器;避免使用嵌套的 if 块。CBV是View类的集成类;这里的主要区别在于请求是以HTTP方法命名的类方法内处理的,例如GET ,POST ,PUT原创 2022-06-26 14:20:32 · 215 阅读 · 0 评论 -
冒泡排序算法
"""冒泡排序算法"""bubble_sort = list(range(0, 10, 2))print(bubble_sort)n = 0for i in range(len(bubble_sort)): for j in range(i + 1, len(bubble_sort)): if bubble_sort[i] < bubble_sort[j]: n += 1 print('冒泡排序算法从大到小排序第{0}次.原创 2022-04-23 16:08:43 · 1105 阅读 · 0 评论 -
Linux Ubuntu18.04安装uwsgi时出现 ERROR: Command errored out with exit status 1:
Ubuntu18.04安装uwsgi时出现的错误(py3.8.5) root@ecs-7dec:/usr/local/web/django/oldMan# pip3 install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple some-packageLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleCollecting uwsgi Using cached https:原创 2022-04-22 15:18:51 · 2095 阅读 · 0 评论 -
Django实现头像上传及修改放大查看功能的实现过程
配置1.在setting里面配置存放头像图片的文件夹及路径# 静态路径STATIC_URL = '/static/'STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'),)# 用户的头像存放路径static+/media/head_img/MEDIA_URL = '/media/head_img/'"""存放的头像保存最终路径为/static/media/head_img/"""2.路由配置# 在一级有路由后面加上原创 2022-04-07 16:16:14 · 1536 阅读 · 0 评论 -
Python--dlib图文安装教程
1.指定版本,适用于python3.6版本的pip install dlib==19.6.12.下载后离线安装Python3.6版本——下载文件: dlib-19.6.0-cp36-cp36m-win_amd64.whl下载网址Python3.7版本——下载文件: dlib-19.17.99-cp37-cp37m-win_amd64.whl链接:https://pan.baidu.com/s/1co67vzNlp3OFobQuGEtKrA提取码:hsy5...原创 2022-03-26 01:13:36 · 1479 阅读 · 0 评论 -
Numpy和Pandas基础用法
Numpy基础numpy的array创建numpy属性numpy的基础运算numpy的索引numpy的array合并numpy的array分割numpy的拷贝与深拷贝Pandas基础DataFrame基本介绍pandas选择数据pandas设置值pandas处理丢失数据pandas导入导出pandas合并concatpandas合并mergenumpy的array创建import numpy as npa = np.array([1,2,3]) # [1, ...原创 2022-03-26 00:26:23 · 1976 阅读 · 0 评论 -
解决python opencv imshow中文乱码问题,亲测有效
opencv imshow font 默认是只能显示英文的,有中文就会出现乱码现象,使用PIL的方式绘制文字,绘制好之后再以opencv的图片类型返回去,在使用imshow就可也解决乱码问题了解决方案:1.先去官网下载一个中文字体,网址,目的是在使用PIL绘制文字的时候,我们可以指定绘制文字的文字字体类型下载完成后是一个压缩包,解压,找到 simsun.ttc,把它复制到我们的项目里面,可以给它新建一个文件夹,我这里的路径是\static\font\simsun.ttc.原创 2022-03-24 09:54:21 · 12586 阅读 · 3 评论 -
python3.7+cmake+dlib+face_recognition图文安装教程
问题描述:ModuleNotFoundError: No module named 'face_recognition’在安装dlib时踩坑无数,一直安装不成功 因为dlib库都是关于python3.6的,我的python版本为3.7,导致都无法成功安装。按照安装face_recognition的库要求,需要依次安装依赖库cmake,boost,dlib。1.cmake安装:在venv下pip install cmake2.boost安装:在venv下pip insta...原创 2022-03-19 15:49:47 · 3866 阅读 · 0 评论 -
windows Anaconda安装图文教程
1.运行Anaconda安装程序Anaconda3-5.2.0-Windows-x86_642.点击next继续3.点击 I agree继续4.点击next继续5. 先在D盘新建一个Anaconda文件夹,然后点击Browser更改安装路径,选择刚刚创建的D:\Anaconda文件夹,点击next继续。6.点击install开始安装7.点击next继续8.点击skip跳过Microsoft VSCode的安装9.原创 2022-03-19 04:04:52 · 3116 阅读 · 0 评论 -
解决TypeError: ‘method’ object is not subscriptable
这个错误就是括号的问题POST的写法有两种:1.user_name = request.POST.get("user_name")2.user_name = request.POST["user_name"]原创 2022-03-06 21:39:52 · 946 阅读 · 0 评论 -
python中使用cv2.imshow后无法关闭图像的或者卡死的解决方法
在加入cv2.destroyAllWindows()有时也会失灵。导致很多人只能手动关闭终端,造成不必要的麻烦。有效的解决办法如下:加入elif key == 27: # 键盘按esc退出 break27表示按键盘上的Esc键退出图像出现后必须把光标移动到窗口上再按键才会退出...原创 2022-03-05 03:40:58 · 5426 阅读 · 0 评论 -
解决使用OpenCV-Python外接摄像头打不开问题 re_MSMF::grabFrame videoio(MSMF): can‘t grab frame. Error: -1072873822
记录在学习django+opencv做人脸识别时遇到了以下错误:re_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -1072873822直接在.py文件运行,能使用本机的摄像头,放到django就报了上面的这个错误,解决办法是加上+cv2.CAP_DSHOW...原创 2022-03-05 03:17:15 · 8999 阅读 · 0 评论 -
‘cv::CascadeClassifier::detectMultiScale‘
在学习python+django+opencv2的时候遇到的大坑:error: (-215:Assertion failed) !empty() in function ‘cv::CascadeClassifier::detectMultiScale‘这个错误一般出现在使用opencv2做人脸识别,图片识别的时候,一开始我写好了关于人脸识别的代码,一开始的时候是把代码全部写在一个.py文件里面,写完运行发现没有问题,到了放到项目views.py的时候就报了标题的那个错误,坑了我好...原创 2022-03-05 03:05:31 · 6642 阅读 · 2 评论 -
Django创建超级管理员用户步骤
1.创建一个超级管理员,在控制台输入如下命令: $ python manage.py createsuperuser 2.输入打算使用的登录名: $ username:linbeixing 3.输入email(这里输不输都不影响,直接回车也可以): $Email address: 4.输入密码,需要输入两次,输入过程中密码不显示,密码要记住: $Password: $Password (again): 5.当两次原创 2022-02-27 01:20:09 · 6984 阅读 · 0 评论 -
python快速生成和离线安装、在线安装环境依赖包requirements.txt
1.生成环境依赖包的文件: $ pip freeze > requirements.txt 2.使用requirements.txt在线安装依赖: $pip install -r requirements.txt 3.使用requirements.txt离线安装依赖,将requirements.txt中导入的包离线下载到packagesdir 文件夹中: $pip download -d D:\Users\Desktop\packagesdir .原创 2022-02-27 01:08:49 · 1696 阅读 · 0 评论 -
django快速激活venv虚拟环境教程
问题描述:Couldn‘t import Django. Are you sure it‘s installed and available on your PYTHONPATH environment var就是在执行 python manage.py runserver 127.0.0.1命令时,找不到所需要的虚拟环境,解决办法如下:1.找到你创建的虚拟文件夹,默认是venv,点击打开,在控制台进到Scripts目录下,输入以下命令: $activate 这样虚..原创 2022-02-27 00:53:52 · 1418 阅读 · 2 评论 -
解决opencv2 module‘cv2‘ has no attribute ‘face‘问题
安装opencv-contrib-python即可解决:我的python版本是3.6,在安装的时候直接安装最新的opencv依赖,安装不上,所以安装了opencv-contrib-python 4.4.0.42我的opencv-python版本为:4.4.0 $pipinstallopencv-contrib-python== 4.4.0.42 版本号问题就是一个大坑,如果直接pip installopencv-contrib-python不加版本号,pip默认会给你...原创 2022-02-25 17:45:22 · 2864 阅读 · 4 评论 -
Django如何指定目录创建app
通过pycharm新建app时,需要指定目录。因为manage.py和APP是在同一级目录下,不指定目录的话,新建的app会和APP在同一级。1.首先先在APP目录下,新建一个和要建的app同名的文件夹,比如account,删除多余的__init__.py文件,不然在创建的时候会缺少migrations文件夹2.建完目录,执行命令: $python manage.py startappaccount./apps/account ...原创 2022-02-24 17:17:02 · 2186 阅读 · 2 评论 -
社区版的PyCharm搭建Django项目
使用专业版的PyCharm搭建Django项目,只需要在创建项目的时候选择Django项目就行了,PyCharm会自己新建所需的文件。1.安装Django: $pip install django 2.创建Django项目: $ django-admin startproject demo01 3.创建app: $cd demo01 $python manage.py startappapp01 migrations:...原创 2022-02-23 16:34:56 · 995 阅读 · 0 评论 -
redis基本命令学习基本操作
1.Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定: $ 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推 2.Redis Rpush 命令用于将一个或多个值插入到列表的尾部(最右边): $ 如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误 注意:原创 2021-12-14 16:26:35 · 455 阅读 · 0 评论 -
Ubuntu16.04 安装 ipython的详细过程
1.更新: $ sudo apt-get update 2.安装ipython: $ sudo apt-get install ipython3 $ sudo pip install ipython 3.安装Qt console 工具: $ sudo pip install jupyter 4.进入 ipython: $ ipython原创 2021-12-14 16:21:58 · 1078 阅读 · 3 评论 -
Jupyter Notebook安装和使用介绍
notebook jupyter简介Jupyter Notebook是一个开源Web应用程序,允许您创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等Jupyter Notebook是一个交互式的笔记本,支持运行超过40种编程语言,Jupyter Notebook可以通过网页的形式打开,在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下面进行显示。如果在编程过程中需要编写...原创 2021-12-14 16:16:09 · 1899 阅读 · 0 评论 -
ubuntu出现不能从一台机子复制文件到另外一台机子的bug解决办法
1.有使用sudo复制的话的话就切换root用户,删除位于.ssh/known_hosts文件就可以解决这个bug: $ su - cd .ssh ls rm known_hosts 2.不是使用sudo复制的话,删除位于.ssh/known_hosts文件就可以解决这个bug:: $ cd .ssh ls rm known_hosts ...原创 2021-12-13 18:05:52 · 1153 阅读 · 0 评论 -
docker基本命令
1.查看docker的版本: $ docker -v 2.查看已经安装的docker: $ sudo docker ps -a 3.重启docker: $ sudo docker container restart 88888888(docker容器的名字) 4.-i 启动docker不进入编辑界面: $ sudo docker exec -i dec619493918 /bin/bash -c "/root/auto_servic原创 2021-12-13 17:18:46 · 857 阅读 · 0 评论 -
rsync远程增量备份(差异备份)
分为服务端配置和客户端配置需要关闭服务端的防火墙 sudo ufw disable1.Ubuntu16.04默认安装rsync,但是没有默认启动,安装及启动: $sudo vim /etc/default/rsync # 将RSYNC_ENABLE=false改为true RSYNC_ENABLE=true 2.复制文件,修改文件: $ sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc ...原创 2021-12-13 16:57:33 · 447 阅读 · 0 评论 -
Django models.CharField()用法
1.editable: $可编辑,如果设置为False,这个字段将不会出现在admin或者其他ModelForm,他们会跳过模型验证,默认为True 2.upload='': $ 自定义图片和文件上传路径自定义图片和文件上传路径 3.default: $设置默认值 4.verbose_name: $ 就是在后台显示对对应的名称 5.blank=Ture与null=Ture的区别: $ null 是针对数据库..原创 2021-12-13 16:46:13 · 5470 阅读 · 0 评论 -
svn的常用基本命令
1.导入新的项目: $ sudo svn import -m "项目的备注信息" /var/sss/testfile:///home/svn/repos -m:备注的信息 /var/sss/test:项目的路径 file:///home/svn/repos:svn仓库路径 2.获取项目文件: $ svn checkout file:///home/svn/repos /home/test file:///home/svn/repos:svn的仓..原创 2021-12-13 16:34:54 · 1166 阅读 · 0 评论 -
svn的安装与配置
1.检查是否安装有svn: $ svn 2.安装svn: $ sudoapt-getinstallsubversion 3.创建仓库: $svnadmincreateaupool_repos 4.配置svn: $ cdaupool_repos/conf #配置密码 #sudovimpasswd 末尾增加 test=666666 #配置权限控制 #s...原创 2021-12-11 15:31:17 · 648 阅读 · 0 评论 -
Django迁移表文件命令migrations的实现
1.生成迁移记录: $python3 manage.py makemigrations 2.迁移表: $ python3 manage.py migrate 如果你哪天真的手动操作了与迁移相关的内容,遇到迁移表和数据库无法正常同步的问题,那么你可能会用到迁移伪造指令 --fake。这个指令根据 App 现有的迁移文件内容,伪造 dango_migrations 表中的内容,欺骗 Django 的迁移状态,从而帮助你从报错中解脱出来。3.迁移...原创 2021-12-10 14:28:23 · 1031 阅读 · 0 评论 -
AttributeError: module “jwt“ has no attribute “encode“
django运行过程中,jwt报错无encode属性。经查,是由于PyJWT和JWT同时存在,导入jwt模块时出现混淆。或者只安装了JWT而需要安装的模块是PyJWT,就是安装的模块不符合要求条件1.解决方法: # jwt卸载命令 pip uninstall jwt # 保险起见,将PyJWT一同卸载 pip uninstall PyJWT # 重新安装PyJWT pip install PyJWT ...原创 2021-12-10 12:06:59 · 3028 阅读 · 0 评论 -
mysql修改密码,设置密码,忘记密码操作
1.进入数据库命令界面: $mysql -uroot –pxxxxxx 2.查看所有数据库: $ show databases; 3.切换数据库: $ use test_db; 4.要是太久记不住密码执行下面这句命令,然后拿到用户名和密码登录: $ sudo cat /etc/mysql/debian.cnf 5.修改数据库密码,一定要使用flush privileges 刷新权限: $use mys...原创 2021-12-09 16:45:00 · 151 阅读 · 0 评论 -
数据库索引的简单介绍以及优点和缺点分析
什么是数据库索引:数据库中的索引和数据的目录相似,利用目录快速查找所需的信息。在数据库中,索引是某个表中一列或者若干列值的集合,以及物流标识这些值的数据页的逻辑指针清单。是SQL Server编排数据的内部方法,通过索引,可快速查找数据,而无需扫描整个表。索引页是数据库中存储索引的数据页,存放数据行的关键字页以及该数据行的地址指针索引分类:在SQL Server中,常见的索引有以下六类:唯一索引:不允许两行具有相同的索引值主键索引:要求主键中每个值是唯一...原创 2021-12-09 16:27:29 · 673 阅读 · 0 评论 -
linux查看系统使用情况的命令
SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。1.使用w查看系统负载: $ w 第一行从左到右依次表示当前时间、系统已运行时间、登录用户数(终端登录显示为ttyx,远程登录显示为pts/x)、平均负载(每1分钟、每5分钟、每15分钟)主要是注意第一个负载值,值越大说明服务器压力越大。一般情况下,这个值不要超过...原创 2021-12-09 10:16:54 · 1299 阅读 · 0 评论 -
apache2安装和配置域名访问
1.更新: $sudo apt-get update && apt-get upgrade 2.安装apache2: $ sudo apt-get install apache2 3.启动rewrite规则: $sudo a2enmod rewrite 4.开启Rewrite模块,在<Directory>栏目下,把AllowOverride None改为AllowOverride All,有三个地方需要修改:..原创 2021-12-08 19:15:56 · 2055 阅读 · 0 评论 -
vnc下:无法执行默认的终端模拟器
1.利用VNC连接远程服务器的时候出现“无法执行默认的终端模拟器: 2.解决方法:桌面右键所有应用程序-->应用程序(A)-->设置-->首选默认应用程序: $ 3.点击实用程序(U),然后在终端模拟器中选择Xfce或者GNOMF终端即可: $ ...原创 2021-12-08 14:15:55 · 685 阅读 · 0 评论