def

redis之django-redis

允我心安 提交于 2021-01-07 04:57:15
自定义连接池 这种方式跟普通py文件操作redis一样,代码如下 views.py 1 import redis 2 from django.shortcuts import render,HttpResponse 3 from utils.redis_pool import POOL 4 5 def index(request): 6 conn = redis.Redis(connection_pool= POOL) 7 conn.hset( ' kkk ' , ' age ' ,18 ) 8 9 return HttpResponse( ' 设置成功 ' ) 10 def order(request): 11 conn = redis.Redis(connection_pool= POOL) 12 conn.hget( ' kkk ' , ' age ' ) 13 14 return HttpResponse( ' 获取成功 ' ) View Code 通过第三方组件操作redis 安装 pip3 install django-redis 配置 settings.py # redis配置 CACHES = { " default " : { " BACKEND " : " django_redis.cache.RedisCache " , " LOCATION " : "

手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告

无人久伴 提交于 2021-01-07 02:31:51
简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之。一次偶然的机会,在一个QQ群里看到Allure的测试报告,真的是一见钟情,特别的喜欢。但是由于时间的原因就没有自己实践一下,乘着国庆假期,自己特抽时间做了一番探索。 Allure介绍 Allure是一种灵活的轻量级多语言测试报告工具,它不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,而且还允许参与开发过程的每个人从日常执行中提取最大程度的有用信息。 从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分为bug和残破的测试,还可以配置日志,步骤,固定装置,附件,时间,历史记录以及与TMS的集成以及Bug跟踪系统,因此负责任的开发人员和测试人员将掌握所有信息。 从管理者的角度来看,Allure提供了一个清晰的“全局”,涵盖了所涵盖的功能,缺陷聚集的位置,执行时间表的外观以及许多其他方便的事情。 魅力的模块化和可扩展性确保您始终可以微调某些东西,以使魅力更适合您。 一睹Allure风采 在展开Allure详述前,先上一份测试报告,报告主要包含总览、类别、测试套件、图表、时间刻度、功能、包等7大部分,支持自定义诸多信息,包括附件添加、缺陷链接、案例链接、测试步骤

python 模拟(简易)音乐播放器

和自甴很熟 提交于 2021-01-06 22:55:40
模拟一个在线音乐播放程序 # 1, 使用C/S架构来进行设计,分别写出客户端和服务器程序 # 2,客户端链接服务器之后,服务器向用户提示可以选择的歌曲列表,用户选择后开始播放(音频文件存放在本地即可) #思路是通过socketserver ,客户端发送指令到服务端,服务端连接数据库查到歌曲名字路径返回给客户端,客户端通过pygame模块查找到歌曲路径 播放歌曲 #创建数据表,插入歌曲名字和路径 CREATE TABLE t_music( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(32), path VARCHAR(32) ) SELECT * FROM t_music INSERT INTO t_music(NAME,path) VALUE("味道","D:\\\\老男孩\\\\味道.mp3"),("世间美好与你环环相扣","D:\\\\老男孩\\\\世间美好与你环环相扣.mp3") 服务端: import pymysql import json import socketserver class MyServer(socketserver.BaseRequestHandler): @classmethod def conn(cls,name): conn = pymysql.connect(host="localhost",

Django组件之Form表单

爱⌒轻易说出口 提交于 2021-01-06 20:58:04
一、Django中的Form表单介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 二、普通方式的form表单注册 1 、views.py def register(request): error_msg = "" if request.method == " POST " : username = request.POST.get( " username " ) pwd = request.POST.get( " pwd " ) # 对注册信息做校验 if len(username) < 6 : # 用户长度小于6位 error_msg = " 用户名长度不能小于6位 " else : # 将用户名和密码存到数据库 UserInfo.objects.create(username= ' username ' , password= ' pwd ' ) return redirect( " /login/ " )

Python下载网络图片方法汇总与实现

懵懂的女人 提交于 2021-01-06 15:31:03
> 本文介绍下载python下载网络图片的方法,包括通过图片url直接下载、通过re/beautifulSoup解析html下载以及对动态网页的处理等。 >​本期小编推送2021初学者一定会用到的Python资料,含有小编自己呕心沥血整理的免费书籍/视频/在线文档和编辑器/源代码,关于`Python`的安装qun:850973621 ### 通过pic_url单个/批量下载 已知图片url,例如http://xyz.com/series-*(1,2..N).jpg,共N张图片,其链接形式较为固定,这样经简单循环,直接通过`f.write(requests.get(url).content)'即可以二进制形式将图片写入。 ``` import os import requests def download(file_path, picture_url): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE", } r = requests.get(picture_url, headers=headers) with open(file_path

从NLP任务中文本向量的降维问题,引出LSH(Locality Sensitive Hash 局部敏感哈希)算法及其思想的讨论

别说谁变了你拦得住时间么 提交于 2021-01-06 11:56:11
1. 引言 - 近似近邻搜索被提出所在的时代背景和挑战 0x1:从NN(Neighbor Search)说起 ANN的前身技术是NN(Neighbor Search),简单地说,最近邻检索就是根据数据的相似性,从数据集中寻找与目标数据最相似的项目,而这种相似性通常会被量化到空间上数据之间的距离,例如欧几里得距离(Euclidean distance),NN认为数据在空间中的距离越近,则数据之间的相似性越高。 当需要查找离目标数据最近的前k个数据项时,就是k最近邻检索(K-NN)。 0x2:NN的技术挑战与发展 近些年的研究中涌现出大量以最近邻检索为基本思想的方法,主要可分为两类: 数据结构改进:基于提升检索结构性能的新数据结构,大多基于树形结构,例如KD-Tree。关于KD-tree的相关讨论可以参阅另一篇 博客 。 高效索引方法改进:基于对数据本身的索引和处理的方法,包括哈希算法、矢量量化方法等。哈希算法就是使用HASH算法构建数据索引,HASH方法的确效率很高,但是因为其全局敏感性,输入文本只要有任何微小的变化,得到的Hash Index就会发生改变,因此无法提高近邻搜索的性能。 尽管出现了很多针对NN算法的改进措施,但是在实际工业场景中,NN算法遇到最大阻碍是: 数据经过向量化(即特征工程)之后,因为特征空间特别高维(上百/上千/甚至上万),导致在空间距离上特别稀疏

django-import-export 显示model verbose_name

梦想与她 提交于 2021-01-06 11:31:36
安装并配置django-import-export pip install django- import - export pip install django -simpleui 配置settings.py # settings.py INSTALLED_APPS = ( 'simpleui', 'import_export', ) 建立model from django.db import models # Create your models here. # 商品表 class commodity(models.Model): name = models.CharField(max_length=225, verbose_name= " 商品名称 " , blank=True, default= "" ) desc = models.TextField(verbose_name= " 商品描述 " , blank= True) class Meta: verbose_name_plural = " 商品表 " def __str__ (self): return self.name 生成数据库迁移 python manage.py makemigrations python manage.py migrate 配置 admin.py from django.contrib

django-import-export插件使用教程

旧巷老猫 提交于 2021-01-06 10:45:49
顾名思义,这是一个用于处理导入和导出数据的库。django-import-export库支持多种格式,包括xls、csv、json、yaml以及tablib支持的所有其他格式。它还有一个Django管理集成,使用起来非常方便。 安装插件 使用PIP安装 pip install django- import- export 更新settings.py: INSTALLED_APPS = ( ... 'import_export', ) 还有一个可选的配置,我通常这样添加: IMPORT_EXPORT_USE_TRANSACTIONS = True 默认值为False。它确定库是否会在数据导入中使用数据库事务,以确保安全。 Resources django-import-export库使用Resource的概念,它的类定义非常类似于Django处理模型表单和管理类的方式。 在文档中,作者建议将与资源相关的代码放在admin.py文件。但是,如果实现与Django admin没有关系,我通常更喜欢在app文件夹里创建一个名为resources.py。 models.py from django.db import models class Person (models.Model): name = models.CharField(max_length= 30) email =

Django Rest framework 框架

落爺英雄遲暮 提交于 2021-01-06 08:33:07
一、开发模式:      1. 普通开发方式(前后端放在一起写)   2. 前后端分离(前后台通过ajaxo交互)     后端(django rest framework写的) <----ajaxo---> 前端(vue写的) <----- > 用户     好处: 二、后端开发     为前端提供url(API的开发或者接口的开发)     注:永远返回HttpResponse 路由 from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r ' ^admin/ ' , admin.site.urls), url(r ' ^users/ ' , views.users), ] 视图 ( FBV:function base view 基于函数的视图 如下) import json from django.shortcuts import render,HttpResponse # Create your views here. def users(request): user_list = [ ' zgr ' , ' oldboy ' ] return HttpResponse(json.dumps(user_list

Django学习笔记(5)——cookie和session

醉酒当歌 提交于 2021-01-06 05:23:07
一,前言 1.1,什么是会话跟踪技术   在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。 在一个会话的多个请求中共享数据,这就是会话跟踪技术。   例如在一个会话中的请求如下(请求银行主页): 请求登录(请求参数是用户名和密码) 请求转账(请求参数与转账相关的数据) 请求信誉卡还款(请求参数与还款相关的数据)   在上面会话中,当前用户信息必须在这个会话中共享的,因为登录的是张三,那么在转账和还款时一定是相对张三的转账和还款!这就说明我们必须在一个会话过程中有共享数据的能力。   在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求都应该属于同一个会话,而另一个用户的所有请求则该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时候购买的,这都是属于同一个会话,不能放在用户B或者用户C的购物车内,这不属于同一个会话。 1.2,会话路径技术使用Cookie 或 session 完成   我们知道HTTP协议是无状态协议,也就是说每个请求都会独立的! 无法记录前一次请求的状态。但是HTTP协议中可以使用Cookie来完成会话跟踪技术!   在JavaWeb开发中,使用session来完成会话跟踪,session底层依赖Cookie技术。 cookie就是一段字符串