python
weixin_43571751
这个作者很懒,什么都没留下…
展开
-
python socket
UDP Client:import socket# AF_INET是 IPv4 网络协议的套接字类型,AF_INET6 则是 IPv6 的;而 AF_UNIX 则是 Unix 系统本地通信。# socket.SOCK_DGRAM 代表UDP协议udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 发送方如果不绑定端口,操作系统会随机分配一个端口号udp_socket.bind(("127.0.0.1", 9999))原创 2020-09-25 00:22:25 · 263 阅读 · 0 评论 -
python 多线程、多进程、协程相关知识点
线程与进程进程与线程的区别:进程是系统资源分配的最小单位,线程是程序执行的最小单位;一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行分支;进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见;调度和切换:线程上下文切换比进程上下文切换要快得多。GIL什么GILGIL的全称是 Global Interpreter Lock,全局解释器锁,之所以叫这个名字,是因为Pyt原创 2020-09-20 18:39:16 · 379 阅读 · 1 评论 -
WSGI
WSGI什么是WSGIWSGI:全称是Web Server Gateway Interface,WSGI协议是描述web server如何与web application通信的规范。server和application的规范在PEP 3333中有具体描述。要实现WSGI协议,必须同时实现web server和web application,当前运行在WSGI协议之上的web框架有Torando,Flask,Django等。WSGI协议主要包括server、application和middlewares原创 2020-09-13 23:12:12 · 137 阅读 · 0 评论 -
python中 is 和 == 运算符的区别
is 和 == 的区别isis 用于判断两个对象的在内存中的地址是否一致。如下图所示,当b引用a时,b与a指向同一个内存地址的对象,所以a is b为True。当a和b分别初始化为一个列表对象时,内存地址不一样,所以a is b为False。特殊情况第一种情况:python内部为了提升性能将一些 [-5, 256] 的整数对象缓存起来,保存到一个叫small_ints的链表中,在python的整个生命周期中,如果用到这些整数就不需要再创建新的对象,而是直接引用缓存中的对象。第二种情况:原创 2020-08-25 23:10:54 · 249 阅读 · 0 评论 -
django 验证和授权系统
django 验证和授权系统验证和授权概述使用授权系统INSTALLED_APPS中间件User模型字段User模型的基本用法创建用户创建超级用户修改密码登录验证:扩展用户模型设置Proxy模型一对一外键:验证和授权概述Django有一个内置的授权系统,用来处理用户、分组、权限以及基于cookie的会话系统。Django的授权系统包括验证和授权两个部分,验证是验证这个用户是否是他声称的人(比如用户名和密码验证,角色验证),授权是给与他相应的权限。Django内置的权限系统包括以下方面:用户。原创 2020-07-25 22:03:21 · 338 阅读 · 0 评论 -
django 安全
django 安全CSRF攻击CSRF攻击原理防御CSRF攻击前后端不分离场景前后端分离场景CSRF攻击CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。CSRF攻击原理网站是通过cookie来实现登录功能的。而cookie只要存在浏览器中,那么浏览器在访问这个cookie的服务器的时候,就会自动的携带cookie信息到服务器上去。那么这时候就存在一个漏洞了,如果你访问了一个别有用心或病毒原创 2020-07-20 00:15:24 · 406 阅读 · 0 评论 -
django 中间件
django 中间件中间件自定义中间件使用函数定义中间件使用类定义中间件Django内置的中间件django.middleware.common.CommonMiddlewaredjango.middleware.gzip.GZipMiddlewaredjango.contrib.messages.middleware.MessageMiddlewaredjango.middleware.security.SecurityMiddlewaredjango.contrib.sessions.middlewar原创 2020-07-19 23:26:31 · 106 阅读 · 0 评论 -
django 表单
django 表单django 表单django表单的作用验证数据基本用法常用的FieldCharField:EmailField:FloatField:IntegerField:URLField:常用验证器django 表单django表单的作用在Django中的表单,主要有两个功能:渲染表单模板(只有前后端不分离时才有可能使用,一般情况不用)。表单验证数据是否合法。验证数据基本用法app/forms.py中定义表单验证类,根据前台提交的每个字段定义对应的属性进行验证。实例化表单验证原创 2020-07-12 23:18:48 · 194 阅读 · 0 评论 -
django 视图
django视图django视图限制请求methoddjango视图限制请求methodDjango内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。以下将介绍一些常用的内置视图装饰器。django.http.decorators.http.require_http_methods:这个装饰器需要传递一个允许访问的方法的列表。比如只能通过GET的方式访问。那么示例代码如下: from django.views.decorators.http import原创 2020-07-10 22:39:25 · 108 阅读 · 0 评论 -
django 数据库操作
django 数据库操作MySQL驱动程序安装MySQL驱动程序安装使用Django来操作MySQL,实际上底层还是通过Python来操作的。因此用Django来操作MySQL,首先需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如pymysql以及mysqlclient等。这里使用mysqlclient来操作,通过pip install mysqlclient安装。常见MySQL驱动介绍:MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封原创 2020-07-01 23:01:05 · 302 阅读 · 0 评论 -
django学习笔记
第一个django项目通过django-admin进入要创建项目的目录;进入虚拟环境;执行:django-admin startproject [项目名称]运行项目进入django项目根目录执行:python manage.py runserver [指定端口号]默认是绑定的8000端口,可以自定义端口号。通过专业版pycharm创建让局域网内的主机访问项目启动项目时,设置为0.0.0.0:8000,例如: python manage.py runserver 0.0.0原创 2020-07-01 11:42:00 · 136 阅读 · 0 评论 -
Web 服务器与应用服务器
Web服务器只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给其他程序去处理。这个其他程序就是应用服务器。比如Web服务器包括Nginx,Apache,IIS等。而应用服务器包括WebLogic,JBoss等。应用服务器一般也支持HTTP协议,因此界限没这么清晰。但是应用服务器的HTTP协议部分仅仅是支持,一般不会做特别优化,所以很少有见Tomcat直接暴露给外面,而是和Nginx、Apache等配合,只让Tomcat处理转载 2020-07-01 00:27:49 · 116 阅读 · 0 评论 -
python 虚拟环境搭建
virtualenv安装virtualenvvirtualenv是用来创建虚拟环境的软件工具,通过pip或者pip3来安装:pip install virtualenv 或pip3 install virtualenv创建虚拟环境virtualenv [虚拟环境的名字] 默认情况下使用系统环境变量配置的python环境作为模板创建虚拟环境。 例如:系统环境变量配置的python3环境,那么创建的就是python3的虚拟环境。指定Python解释器创建虚拟环境virtualenv原创 2020-06-30 23:10:29 · 78 阅读 · 0 评论