自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灯火阑珊处

人生苦短,我爱Python

  • 博客(55)
  • 收藏
  • 关注

原创 ElasticSearch_DSL 使用方法合集(持续更新中......)

python elasticsearch_dsl 使用方法大全

2023-09-19 10:15:55 370

原创 Elasticsearch 添加更改字段类型方法(update_by_query)

Elasticsearch 添加更改字段类型方法(update_by_query)

2022-03-24 21:55:45 3228

原创 Elasticserch与Elasticsearch_dsl用法

Elasticserch与Elasticsearch_dsl用法Elasticsearch_dsl::https://elasticsearch-dsl.readthedocs.io/en/latest/search_dsl.htmlElasticserch:https://elasticsearch-py.readthedocs.io/en/master/api.html1. 连接f...

2019-05-23 18:45:43 5519

原创 Django内置信号

Django内置信号Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。用于在框架执行操作时解耦。Model signals pre_init # djan...

2019-05-15 11:28:07 183

转载 Python的垃圾回收机制深入分析

Python的垃圾回收机制深入分析一、概述:Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generation collection)以空间换取时间来进一步提高垃圾回收的效率。二、引用计数在Python中...

2019-02-26 22:31:46 139

原创 乐观锁与悲观锁

一 乐观锁总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。version方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取version...

2019-02-23 23:05:54 185

原创 Scrapy框架

Scrapy框架Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。​ Scrapy...

2019-02-21 22:44:44 195

原创 Celery

Celery1.什么是CleleryCelery是一个简单、灵活且可靠的,处理大量消息的分布式系统专注于实时处理的异步任务队列同时也支持任务调度Celery架构Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。消息中间件Celery本身不提供消息服务,但是可以方便的和...

2019-02-19 16:03:20 106

原创 Flask的基本使用

Flask1.Django与Flask的对比Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,属于全能型框架2.Tornado 主要特点是原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优势,属于专注型框架3.Flask 主要特点小而轻,原生组件几乎为0, 三方提供的组件请参考Django 非...

2019-02-19 16:00:31 686

原创 破解Mysql密码

破解Mysql密码修改密码初始状态下,管理员root,密码为空,默认只允许从本机登录localhost设置密码mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必...

2019-02-16 16:34:10 1530

原创 超实用代码,让用户个人配置代替默认配置,仿Django的golbal_settings源码

废话不多说,直接上代码。golbal_settings是默认配置。import osimport importlibfrom . import golbal_settingsclass Setting(object): ''' 配置类,仿照Django的配置 ''' def __init__(self): # 先拿默认的配置 ...

2019-02-14 15:30:44 133 2

原创 手撸简易版ORM(单表的增删该查)

CustomORM.pyfrom Mysql_single import Mysqlclass Fileld(object): ''' Fileld是父类 ''' def __init__(self, name, column_type, primary_key, default): self.name = name sel...

2019-02-03 11:19:44 362

原创 爬虫之selenium模块

selenium模块selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器from selenium import webdriverbrowser=webdriver.Chrome...

2019-01-22 19:47:13 219

原创 MongoDB的简单认识及基本操作

MongoDB一. 简介MongoDB是一款强大、灵活、且易于扩展的通用型数据库。1、易用性MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用关系型主要是为了获得更好得扩展性。当然还有一些其他好处,与关系数据库相比,面向文档的数据库不再有“行“(row)的概念取而代之的是更为灵活的“文档”(document)模型。通过在文档中嵌入文档...

2019-01-18 19:14:59 6676 8

原创 python面向对象反射及内置方法

python面向对象反射及内置方法一.isinstance与issubclassisinstance:可以判断x是否是y类的实例化对象issubclass:判断B类是否A类的子类d={'a':1}print(isinstance(d,dict))class A: passclass B(A): passprint(issubclass(B,A))二.反射...

2019-01-18 15:48:26 195

原创 python模块之uuid

python模块之uuid一.uuiduuid是128位的全局唯一标识符,通常用32位的一个字符串的形式来表现。有时也称guidC#语言中使用。python中自带了uuid模块来进行uuid的生成和管理工作。UUID —— Universally Unique IDentifier Python中称为 UUIDGUID —— Globally Unique IDentifier ...

2019-01-18 15:47:52 465

原创 字符编码问题

一.文本编辑器存原理结论:在编写py的程序的时候,是没有语法的限制的,编辑的结果跟编写一个普通的文本文件是没有任何区别。只有把py程序交给python解释器并且在运行的第三个阶段才有了语法的意义二.python解释器执行python程序的原理第一阶段:先启动python解释器这个软件第二阶段:把py文件读取内存第三阶段:解释执行,识别语法三.什么是字符编码人类的字符翻译成0或1的数字...

2019-01-17 19:59:39 303

原创 Django拾遗----------长期更新中。。。

Django拾遗1.事务操作# 事务操作 from django.db import transaction with transaction.atomic():2.数据库查询优化defer('id','name'):取出对象,字段除了id和name都有only('id','name'):取的对象,只有id和name如果点,依然能点出其它列,但是不要点了,因为取没有的...

2019-01-15 19:23:37 212

原创 python实现发送邮件

python实现发送邮件一 使用SMTP模块发送邮件import smtplibfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.header import Headermsg_from = '***@qq.com' # 发送方邮箱passwd = '****' ...

2019-01-15 18:52:29 8057

原创 爬虫requests模块

requests 模块1.基于GET请求import requestsresponse=requests.get('http://www.baidu.com/')print(response.text)1.1.带参数的GET请求–>params#在请求头内将自己伪装成浏览器,否则百度不会正常返回页面内容import requestsresponse=requests.get...

2019-01-15 08:36:39 747

原创 Redis的使用

Redisredis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同...

2018-12-28 12:03:29 313

原创 Django的ContentType的使用

ContentType帮助我们快速连表,可以跟多个表做关联。比如:免费课程,收费课程,学位课程等跟价格策略关联。from django.db import modelsfrom django.contrib.contenttypes.models import ContentTypefrom django.contrib.contenttypes.fields import Gen...

2018-12-21 09:04:40 337

原创 跨域请求

跨域请求一.同源策略同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同.比如:我在本地上的域名是127.0.0.1:8000,请求另外一...

2018-12-17 15:57:30 121

原创 Python内部类,内部类调用外部类属性,方法

一 Python中内部类class MyOuter: age=18 def __init__(self,name): self.name=name class MyInner: def __init__(self,inner_name): self.inner_name=inner_nameout=MyOute...

2018-12-17 10:07:04 4734 4

原创 rest_framework其他相关组件及源码分析

rest_framework视图组件总共有四种方式原始代码class PublishSer(serializers.ModelSerializer): class Meta: model = models.Publish fields = '__all__'class Publish(APIView): def get(self,reques...

2018-12-09 16:17:48 273

原创 rest-framework的APIview源码分析,Serializer及解析器源码分析

rest-framework1.安装方式一:pip3 install djangorestframework方式二:pycharm图形化界面安装方式三:pycharm命令行下安装(装在当前工程所用的解释器下)2.djangorestframework的APIView分析(详见源码)在视图函数中定义一个类(Book)继承了APIview,然后在url中,view.Book.as_view...

2018-12-06 15:41:43 291

原创 浅谈csrf-跨站请求伪造

浅谈csrf-跨站请求伪造1. 什么是CSRFCSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网...

2018-11-27 08:40:03 275

原创 Django Auth模块

Auth模块auth组件是django内置的用户认证系统,可以快速的实现,登录,注销,修改密码等。from django.contrib import auth1.创建用户python3 manage.py createsuperuser(只能创建超级用户,不能通过命令行创建普通用户)创建超级用户,输入用户名,邮箱(可以不写,默认NULL=True),密码,确认密码。在创建之前先执...

2018-11-27 08:35:43 215

原创 Django中间件了解并使用

中间件定义:是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。1.中间件有什么用如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。可能你还想在view执行之前做...

2018-11-26 08:52:06 201

原创 Django的forms组件使用

forms组件校验字段功能渲染标签功能渲染错误信息功能组件的参数配置局部钩子(能走到它,说明前面校验已经通过了,一定能把该字段的值取出来)全局钩子(能走到它,前面的全都执行过了,包括局部钩子)在做密码判断的时候,一定要注意,可能密码取出来为空models.pyclass UserInfo(models.Model): name=models.CharField(max_...

2018-11-26 08:47:14 287

原创 Django的Cookie与Session

一.Cookie1.cookie的由来大家都知道HTTP协议是无状态的。无状态的意思就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。而状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就不会保留这些数据,但会话产生的数据优势我们需要保存的,也就是保存状态。比如说:网上购物。当我们...

2018-11-22 20:00:10 114

原创 Django分页器组件的使用

分页器组件1.Django的分页器(paginator)在页面显示分页数据,需要用到Django分页器组件导入:from django.core.paginator import PaginatorPaginator对象: paginator = Paginator(user_list, 10)# per_page: 每页显示条目数量# count: 数据总个数# num...

2018-11-20 16:38:24 351 1

原创 Django的Ajax

Ajax一.什么是AjaxAJAX(Asynchronous Javascript And XML),就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;异步交互:客户端发出一个请求后,无需等...

2018-11-19 18:20:49 137

原创 Django之多表操作

一.多表操作1.创建模型假如有以下几个模型及关系:作者模型:一个作者有姓名和年龄。作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)出版商模型:出版商有名称,所在城市以及email。书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关...

2018-11-13 17:05:11 191

原创 Django之模板层相关

一.Django------模板层1.模板简介模版语法重点:  变量:{{ 变量名 }}    1 深度查询 用句点符    2 过滤器  标签:{{% % }}2.模版语法之变量views.pyfrom django.shortcuts import renderfrom django.utils.safestring import mark_safe# Creat...

2018-11-12 14:26:14 166

原创 Django之视图层相关

Django视图层视图层,熟练掌握两个对象即可:请求对象(request)和响应对象(response)一.Request对象1.1 request属性django将请求报文中的请求行、首部信息、内容主体封装成 request 类中的属性。 除了特殊说明的之外,其他均为只读的。'''1.request.GET  一个类似于字典的对象,包含 HTTP GET 的所有参数。详情请参考...

2018-11-09 08:44:05 128

原创 Django之ORM及单表操作

一.ORM,单表操作1.ORM简介ORM即Object Relational Mapping,全称对象关系映射。1 优点: 1 不用写sql,不会sql的人也可以写程序 2 开发效率高2 缺点: 1 可能sql的效率低3 如何使用: 如果连接mysql:在setting里配置: 'default': { 'ENGINE': 'django...

2018-11-07 20:23:09 129

原创 Django之路由控制URL

一.URL1.Django中路由的作用URL与要为该URL调用的视图函数之间的映射表,就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行.from django.urls import pathurlpatterns = [ path('test', views.test),]test,浏览器输入这个链接,就会响应到test这个函数来执行...

2018-11-07 16:05:54 169

原创 MySQL权限管理

#1.跟权限有关的四张mysql库里面的表按照权限从大到小排列user--->db--->table_priv--->columns_priv#2.只创建新客户端账户密码create user tom@"客户端的IP地址" identified by "密码";客户端:192.168.15.13 服务端:192.168.15.90create use...

2018-09-17 14:56:33 252

原创 协程简介(单线程下实现并发)

一.协程1.目标:在线程下实现并发并发(多个任务看起来同时执行就是并发):切换+保存状态2.协程 协程是单线程下实现并发在应用程序里控制多个任务的切换+保存状态(原来是操作系统干的)注意:协程是程序员YY出来的东西,操作系统里只有进程和线程的概念(操作系统调度的是线程)单线程下实现并发就是为了提高效率的,所以只有在单线程下多个任务遇到IO切换就可以降低单线程的IO时间...

2018-09-10 17:12:04 1302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除