
python
文章平均质量分 70
zhang_shuaixiang
抛弃嵌入式软件开发转 python 相关
展开
-
Django———数据查询 F 对象与 Q 对象
前言 :有时候需要一些相对复杂点的数据操作,总结了下,于是有了这篇文章,简单明了Q对象Q对象是Django对model查询中所使用的关键字参数进行封装后的一个对象。Q对象可以通过 &(与)、 |(或)、 ~(非)运算来组合生成不同的Q对象,便于在查询操作中灵活地运用。比如,对一个记录书籍信息的 BookInfo 表进行一些查询操作:from django.db...原创 2018-07-27 11:10:24 · 310 阅读 · 0 评论 -
python 基本语法 --拾遗
前言: django 开发中一般见到的Python 内部类,最多是在model 设计过程中。所谓内部类,就是在类内部定义的类,主要目的是为了更好的抽象现实世界。内部类的距离:汽车是个类,汽车的地盘,轮胎也可以抽象为类,将其定义到汽车类中,则形成了内部类,更好的描述汽车类,因为底盘,轮胎是汽车的一部分一般不赞同使用内部类,会使程序结构复杂,但是理解内部类有助于理解模块的调用。#...原创 2018-08-24 12:41:22 · 169 阅读 · 0 评论 -
Python 基本语法 抽象类 --拾遗
前言:最近在看回顾java 抽象类,顺便对比下python 抽象类。两者概念上基本一致,但是在java静态语言的原因,使用方式更加花俏些。抽象类是包含抽象方法的类,而抽象方法不包含任何可实现的代码,只能在其子类中实现抽象函数的代码。子类继承父类的成员变量和成员函数。1.定义抽象类在定义抽象类前需要从类库abc导入ABCmeta类(即Metaclass for defining ...原创 2018-08-24 09:59:32 · 470 阅读 · 0 评论 -
Python基本语法 多态 和java 多态 --拾遗
前言:最近工作因需要,过了一遍java基础。发现了一个有趣的东西。正文:java中的多态跟Python中的多态是有区别的。总感觉python 中的多态多少有点牵强。java中的多态定义:多态存在的三个必要条件一、要有继承;二、要有重写;三、父类引用指向子类对象。前面都好理解,但这第三条。不能理解有木有觉得。好找到一个简单例子:一个完整的 代码实例:1.首先,创造动...原创 2018-08-23 15:08:02 · 1367 阅读 · 1 评论 -
基于Django QuerySet理解
查询集QuerySet概念Django的ORM中查询集也称结果集(QuerySet),就是从数据库中获取的对象集合 以下方法在Django中会返回查询集(不是简单的列表)all() 返回所有数据 filter() 返回符合条件的数据 exclude() 返回符合条件之外的数据 order_by() 对结果进行排序 对查询集科研再次调用过滤器进行过滤如>...原创 2018-08-17 11:43:34 · 360 阅读 · 0 评论 -
基于Django自身 数据库访问性能优化--集
1. 使用标准的数据库优化技术:在进行Django数据库访问性能优化之前,首先应该使用标准的数据库技术对其进行优化,比如给字段加索引,通过使用 django.db.models.Field.db_index 来给一个Django模型类的字段加索引,设置这个属性字段的Field.db_index=True。注:django对model中的fk和unique = True的字段将自动创建...原创 2018-08-17 11:14:34 · 373 阅读 · 0 评论 -
django 之RESTful API --拾遗
前言:之前转发过一篇文章: https://blog.youkuaiyun.com/u012762054/article/details/79521168,但感觉不够简洁于是现在来个简洁版的。drf api基本步骤:前提 model已经配置好class Goods(models.Model): """ 商品 """ category = models.Fore...原创 2018-08-19 22:44:21 · 470 阅读 · 0 评论 -
python RabbitMQ 基础知识一
前言:最近被问到web服务器消息队列相关知识,什么不是普通的消息队列?比如之前学过的C-linux 下的消息队列?其实原理是一样的。但在外面加了很多的功能。于是找了个调理比较清晰的文章看了下。你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于...原创 2018-08-18 20:55:18 · 393 阅读 · 0 评论 -
python 常见列表或字符串内容的倒置方法拾遗
前言:最近做一个算法题,总感觉做得不顺,于是来一个小总结。第一种比较笨的方法就是用递归,把列表第一个数据移到最后一个,依次循环,直到全部被移到后面,代码如下: def rever(a): if a =='': return a else: return rever(a[1:])+a[0] rever("12345")...原创 2018-08-14 00:19:07 · 1765 阅读 · 0 评论 -
Python 内存管理机制简单整理
Python有两种共存的内存管理机制: 引用计数和垃圾回收.引用计数:是一种非常高效的内存管理手段, 当一个Python对象被引 用时其引用计数增加1, 当其不再被一个变量引用时则计数减1. 当引用计数等于0时对象被删除.循环引用时,由于两个对象相互引用着对方, 因此引用计数不为0, 则不会被自动回收. 更糟糕的是由于现在没有任何变量引用他们, 我们无法再找到这两个变量并清除. Pytho...原创 2018-08-13 23:58:07 · 217 阅读 · 1 评论 -
python 常见语法拾遗-- with 用法
前提:最近被问到with 语句怎么用?当时没怎么想with as 可以帮忙处理一些预先设定的函数。平时用一般是with open as 操作文件,简化代码用的。后来回想,回答不够专业。百度了下发现了一个比较简单明了的解释。收录如下:背景 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。with如何工作?紧跟w...原创 2018-08-13 23:17:33 · 283 阅读 · 0 评论 -
python 发送HTTP POST简化版
python发送HTTP POST请求(json格式)到指定网址 from urllib import requestimport jsonimport hashlibdef curlmd5(src): m = hashlib.md5() m.update(src.encode('UTF-8')) return m.hexdigest()def htt...原创 2018-08-15 17:03:56 · 917 阅读 · 0 评论 -
Python基本语法 对象重载、重写 --拾遗
前言:Python有重载?不是只有重写?经过一番搜索 基本概念是方法重写(overriding): 1、也叫子类的方法覆盖父类的方法,要求返回值、方法名和参数都相同。 2、子类抛出的异常不能超过父类相应方法抛出的异常。(子类异常不能超出父类异常) 3、子类方法的的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)方法重载(overloading...原创 2018-08-21 15:15:09 · 961 阅读 · 1 评论 -
关于使用django orm 时的坑
关于使用django orm 时的坑跨app 时外键报错跨app 时外键报错class Host(models.Model):nid = models.AutoField(primary_key=True)hostname = models.CharField(max_length=32, db_index=True)ip = models.GenericIPAddressField(p...原创 2018-09-18 16:45:30 · 2547 阅读 · 2 评论 -
Ubuntu 16.04 RabbitMq 安装与运行
目前公司用阿里云 + redis 的方式实现的消息队列。 了解了目前几种主流的消息组件(主要包括rabbitmq、kafka、)的优缺点后,这里为了深入学习rabbitmq,我在自己的腾讯云服务器上也搭建了一套环境。转载 2019-04-20 17:00:55 · 305 阅读 · 0 评论 -
pip 国内源
前言:国外源访问真心慢,之前一直在用国内源,但文章搜索了一次又一次。就是没记录。现在记录下。以后备用国内源:清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:...转载 2019-03-13 14:35:58 · 312 阅读 · 0 评论 -
传说中的神器--磁力链接
如今,在网上求资源,再也不像以前一样需要繁琐的去寻找Torrent文件、图种以及五花八门格式各样的种子文件。只需要一小段“magnet:?xt=urn:btih:”开头的字符串即可完成下载操作。那么,这一小段字符串究竟是什么?为什么有这么神奇的功效呢?下面我们就来一探究竟。2009年时,很多BT服务器被迫关闭,不仅仅是很多种子文件从此销声匿迹,就连BT Tracker服务器也停止解析工作,这时...转载 2019-01-29 00:22:12 · 610112 阅读 · 1 评论 -
揭秘 迅雷地址解析与生成
前言:突然间想知道迅雷地址是如何解析的,经过一番研究发现,只要base64解码后,把thunder头去掉,然后截取掉前面和后面连个字节就可以获取原始url。这也太简单了吧。研究了下其他下载器,其实也差不多。下面给出迅雷解析和生成代码import base64def download_address_translation(original_address): original_a...原创 2019-01-28 23:48:33 · 4280 阅读 · 0 评论 -
python post请求 四种编码小记录
前言:post请求我在python接口自动化2-发送post请求详解(二)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等,可以参考Get,Post请求方式经典详解进行学习一下。我们要知道post请求四种传送正文方式首先需要先了解一下常见的四种编码方式: HTTP 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么...转载 2019-01-08 16:11:19 · 2901 阅读 · 0 评论 -
mysql利用视图提高开发效率
前言:最近在做一个商城,数据库原型图拿过来一个看,感觉需要查询表真多。前前后数了下,查询一个商品列表需要用到好几张表【效率问题后面再讨论】。感觉有点头晕。代码方面,觉得查询那么多表,容易出漏洞。于是为了简化代码,引入数据库视图。下面是结果图:DROP VIEW if exists SPecFilter ; CREATE VIEW SPecFilter(id,detail,name,cnam...原创 2018-12-14 15:10:18 · 733 阅读 · 1 评论 -
pip 国内镜像
让python pip使用国内镜像国内源:清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:...转载 2018-12-01 15:32:14 · 471 阅读 · 0 评论 -
git简单使用
加个文章记录下使用git上传代码吧。步骤是:1、生成ssh-key ,然后把公钥放到git上;2、然后是http下载代码;3、最后是切换成ssh 提交代码.1、ssh-keygen -t rsa -C "xxxxxx@qq.com"2、cd /home/aran/.ssh/cat id_rsa.pub拷贝里面的内容到git上3、修改地址git remote set-url or...原创 2018-12-01 15:22:10 · 228 阅读 · 0 评论 -
python redis测试例子
import redisimport timedef main():“”"redis-cli -h 127.0.0.1 -a test321“”"redis_host = “127.0.0.1”redis_password = “test321”redis_cli = redis.StrictRedis(host=redis_host, password=redis_passwor...原创 2018-09-21 16:45:28 · 633 阅读 · 0 评论 -
Django model update的各种用法介绍
前言:最近看到一篇文章,讲的是各种 django model 更新。保存下model update常规用法假如我们的表结构是这样的class User(models.Model): username = models.CharField(max_length=255, unique=True, verbose_name='用户名') is_active = mod...原创 2018-08-14 09:37:33 · 2339 阅读 · 0 评论 -
Django model select 各种查询
前言:最近看到 大神 运维咖啡吧的 一篇文章,这里只做个备份,讲的是各种 django model 查询,发现不错,十分感谢该大神的无私奉献。参考自:https://mp.weixin.qq.com/s/JVh4UnS2Tql9gUVaBSoGuA基本操作#获取所有数据,对应SQL:select*fromUserUser.objects.all()#匹...转载 2018-08-14 09:18:05 · 10335 阅读 · 5 评论 -
前后端分离之JWT用户认证
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了。于是我们的程序就不知道谁是谁,就要再验证一次。所以为了保证系统安全,我们就需要验证用户否处于登录状态。传统方式前后端分离通过Restful API进行数据交互时,如何验证用户的登录信息及权限。在原来的项目中...转载 2018-07-15 20:02:18 · 364 阅读 · 0 评论 -
python3 csv文件基本操作
csv(Comma-Separated Values),也叫逗号分割值,如果你安装了excel,默认会用excel打开csv文件。废话少说直接贴代码:import csv# 打开文件,用with打开可以不用去特意关闭file了,python3不支持file()打开文件,只能用open()with open("20170709.txt", "r", encoding="utf-8")原创 2017-10-24 23:18:00 · 2255 阅读 · 0 评论 -
Python3发送邮件(三)(附件)(qq)
可以成功发送邮件附件,但是邮件主要内容无法发送,有空再去找找原因import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrfrom email.header import Headermy_sender = 'xxxx@qq.com' #原创 2017-11-09 15:07:45 · 357 阅读 · 0 评论 -
Python3发送邮件(一)(文本)(qq)
注意:使用前需要到qq中设置开启POP3 和IMAP服务和设置第三方授权码然后在下面打x那里填入相关信息即可import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrmy_sender='xxxx@qq.com' # 发件人邮箱账号my_pass =原创 2017-11-09 10:21:00 · 463 阅读 · 0 评论 -
python3 发送邮件(二)(html)(qq)
之前已经成功发送了qq邮件。下面贴出html格式的qq邮件import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrmy_sender = 'xxxxxxx@qq.com' # 发件人邮箱账号my_pass = 'xxxx' # 发件人邮箱原创 2017-11-09 10:34:58 · 1828 阅读 · 0 评论 -
Python3 ORM之 sqlalchemy
本节内容ORM介绍sqlalchemy安装sqlalchemy基本使用多外键关联多对多关系表结构设计作业 一、ORM介绍如果写程序用pymysql和程序交互,那是不是要写原生sql语句。如果进行复杂的查询,那sql语句就要进行一点一点拼接,而且不太有重用性,扩展不方便。而且写的sql语句可能不高效,导致程序运行也变慢。 为了避免把sql语句写死在代码里,有没有一种转载 2017-10-31 15:16:40 · 896 阅读 · 0 评论 -
python3读取大文件的行数的正确姿势
试过几个读取大文件的行号的方法,但最终觉得这个方法不错count = 0fp = open(filename, "r", encoding='utf-8')while 1: buffer = fp.read(8*1024*1024) if not buffer: break count += buffer.count('\n')print(co原创 2017-10-29 12:04:33 · 7335 阅读 · 0 评论 -
记一次python3 大文件解压和操作
先说下:所谓的大文件并不是压缩文件有多大,几十兆的文件而是解压后几百兆。其中就遇到解压不成功的情况.、读小文件时成功,大文件时失败等def unzip_to_txt_plus(zipfilename): zfile = zipfile.ZipFile(zipfilename, 'r') for filename in zfile.namelist(): da原创 2017-10-27 17:39:16 · 1749 阅读 · 0 评论 -
初步探索python(三) pycharm开发环境搭建,爬虫
pycharm 下载https://www.jetbrains.com/pycharm/download/#section=windows我这里下载的是pycharm-professional-5.0.1.exe安装1、user nameEMBRACE2、key:14203-120420100000107Iq75C621P7X1SFnpJDivKnX6zcwYOYaGK3...原创 2017-03-21 16:56:06 · 3206 阅读 · 0 评论 -
python拷贝文件到U盘
最近在学python。刚好有个想法,不用每次都用鼠标复制黏贴就把文件拷贝到我的U盘里。如果有兴趣的还可以写个守护进程。下面是代码import win32fileimport osimport win32fileimport tempfileimport shutilfrom win32com.shell import shell, shellcon'''原创 2017-03-21 15:26:39 · 5025 阅读 · 0 评论 -
初步探索python(二) python 类相关
===================================================================================='''类的定义'''import urllib.requestclass Hotel(object): """docstring for Hotel""" def __init__(self,原创 2017-03-21 15:55:03 · 293 阅读 · 0 评论 -
python/R 十种机器学习算法
广义来说,有三种机器学习算法1、 监督式学习工作机制:这个算法由一个目标变量或结果变量(或因变量)组成。这些变量由已知的一系列预示变量(自变量)预测而来。利用这一系列变量,我们生成一个将输入值映射到期望输出值的函数。这个训练过程会一直持续,直到模型在训练数据上获得期望的精确度。监督式学习的例子有:回归、决策树、随机森林、K – 近邻算法、逻辑回归等。2、非监督式学习转载 2017-10-25 23:29:15 · 461 阅读 · 0 评论 -
nginx那些年、那点事
本文会不断更新、记录一些Nginx小细节(Nginx如何部署在前面已经搞定了。这里就不说了,就记录些工作中遇到的小问题。和解决方法,以后参考用)1、顶级域名转到www 在文档最后一个花括号前面加入下面几行即可 server { server_name gz-nuoyuan.com; rewrite ^(.*)$ http://www.xxxx原创 2017-11-29 16:48:11 · 172 阅读 · 0 评论 -
Django配置celery
Django配置celery(非djcelery)执行异步任务和定时任务所有演示均基于Django2.0celery是一个基于python开发的简单、灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度。采用典型的生产者-消费者模型,主要由三部分组成: 消息队列broker:broker实际上就是一个MQ队列服务,可以使用redis、ra...原创 2018-07-25 09:43:55 · 315 阅读 · 0 评论 -
Django 文件上传到后台的三种方式
方式一:通过form表单提交到后台前段:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body&g原创 2018-07-05 17:25:06 · 4786 阅读 · 0 评论