测试代码: models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值 models.Tb1.objects.filter(id__in=[11, 22, 33]) # 获取id等于11、22、33的数据 models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in models.Tb1.objects.filter(name__contains="ven") # 获取name字段包含"ven"的 models.Tb1.objects.f...

阅读全文>>

常用的查询操作 <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <3> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 <5> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对...

阅读全文>>

0x01 函数代码 ''' /** * 加密解密子字符串函数 * @param $string * @param $operation * @param string $key * @return bool|mixed|string * * $key = md5(md5("gyarmy")); $token = encrypt($str, 'E', $key); echo '加密:'.encrypt($str, 'E', $key); echo '<br />'; echo '解密:'.enc...

阅读全文>>

上线后出问题的原因 注意 0 和 '0' <?php #测试下注释方法 function a($a){ var_dump(empty($a)); var_dump($a==null); } //php填坑 a('0'); 原因说明 原文 测试案例 <?php #测试下注释方法 function a($a){ var_dump(empty($a)); var_dump($a==null); ...

阅读全文>>

0x01 错误原因 python manage.py makemigrations 报错提示: AttributeError: 'str' object has no attribute 'decode' 0x02 解决 直接定位到报错文件 C:\python38\Lib\site-packages\django\db\backends\mysql\operations.py 修改源码: # 头部导入 from django.utils.encoding import force_text # 报错的位置更改 q...

阅读全文>>

Django的安装 注意安装LTS版本 安装 pip install Django==2.2(卸载django:pip uninstall django) 创建第一个Django项目 命令行创建 django-admin startproject 项目名 PyCharm File -> new Project -> 左侧选第二项,右侧第一项是路径,第二项是选python版本 在...

阅读全文>>

0x01接收路径 函数式的路径判断 截取请求路径的扩展功能 0x02 代码 """ 使用socket 搭建一个简单的web服务端 函数进阶版 """ import time import socket sk = socket.socket() sk.bind(('127.0.0.1', 8080)) sk.listen() def yingying(url): data = 'ni fang wen de shi: {}'.format(url) return bytes(data, encoding='utf8') ...

阅读全文>>

0x01 需求 功能说明: 监听9090端口 解析html文件 支持http协议 0x02 代码实现 import socket sk = socket.socket() sk.bind(("127.0.0.1",9090)) sk.listen() #sk.accept() while True: conn,addr = sk.accept() data = conn.recv(1024) print(data) #http协议输出 ...

阅读全文>>

0x01 server import select import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() del_l = [] rlist = [sk]# 是用来让select帮忙监听的 所有 接口 # select:windows/linux是监听事件有没有数据到来 # poll: linux 也可以做select的工作 # epoll: linux 也可以做类似的工作 while 1: r,w,x = select.select(rlist,[]...

阅读全文>>

0x01 服务端 import socket sk = socket.socket() sk.setblocking(False) sk.bind(('127.0.0.1',8080)) sk.listen() l = [] del_l = [] while 1: try: conn,addr = sk.accept()# 如果是阻塞IO模型,在这里程序会一直等待。 l.append(conn)# 将每个请求连接的客户端的conn添加到列表中 except BlockingIOError: for...

阅读全文>>

0x01代码 from bs4 import BeautifulSoup import requests import time import re from multiprocessing import Process headers = { 'user-agent':'Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/61.0' } def get_url(url): res = requests.get(url) if res.status_code == 200: ...

阅读全文>>

0x01 PyCharm安装包的方法 引入图片 0x02 命令行安装 无法在pycharm中指定源 关键命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bs4 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 测试有效

阅读全文>>