python
faceshe
这个作者很懒,什么都没留下…
展开
-
用rest-framework实现用户注册登录功能
类试图用到ListCreateAPIView(继承)指定序列化类和模型serilizer_class = UserSerilizerqueryset = UserModel.objects.all()重写create()函数def create(self,request,*args,**kwargs): serilizer = self.get_serilizer(data=request.data) serilizer.is_valid(raise_exception=True)原创 2020-10-17 16:17:02 · 778 阅读 · 0 评论 -
rest-framework中的viewsets模块
viewsetsViewSetMixin重写as_view()GenericViewSet继承自GenericAPIView继承自ViewSetMixinViewSet继承自APIView继承自ViewSetMixin默认啥都不支持,需要自己手动实现ReadOnlyModelViewSet只读的模型的视图集合继承自RetrieveModelMixin继承自ListModelMixin继承自GenericViewSetModelViewSet直接封装原创 2020-10-14 11:12:03 · 286 阅读 · 0 评论 -
python内置函数之base64
base64编码base64.b64encode(str)#由于base64编码可能出现+和/,在url中不能直接作为参数。因此有’url safe‘的base64编码,可以使+/变成-_base64.urlsafe_b64encode(str)解码base64.b64decode(str)=也可能出现在base64编码中,但=用在url,cookie中会造成歧义,因此很多base64会把=去掉因为编码后的字节长度永远是4的倍数,因此解码可以根据差了多少(1/2/3个)字节原创 2020-06-03 17:08:10 · 886 阅读 · 0 评论 -
python内建模块之collections
namedtuplenamedtuple用来创建一种自定义的tuple对象,并且规定tuple元素的个数。并且用属性而不是用索引来引用tuple的某个元素。这样,用namedtuple可以很方便地定义一种数据类型#创建from collections import namedtuplePoint = namedtuple('Point',['x','y'])#使用p = Point(1,2)print(p.x)print(isinstance(p,point)print(isinsta原创 2020-06-02 17:44:43 · 116 阅读 · 0 评论 -
python中的正则表达式总结
\d:匹配一个数字\w:可以匹配一个字母或数字.:可以匹配任意字符*:表示任意字符(包括0个)+:表示至少一个字符?:表示0个或1个字符{n}:表示n个字符{m:n}:表示第m-n个字符可以用[]表示范围:[0-9a-zA-Z_]+可以匹配至少由一个数字、字母或者下划线组成的字符串A|B:可以匹配A或B,如(P|p)ython可以匹配’Python’或者’python’。^表示行的开头 ^\d表示必须以数字开头。$表示行的结束,\d$表示必须以数字结束。贪婪匹配正则匹配默认是贪婪匹原创 2020-06-01 08:55:15 · 164 阅读 · 0 评论 -
python之ThreadLocal
一个ThreadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本,互不干扰。ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。import threading # 创建全局ThreadLocal对象:local_school = threading.local()def process_student(): # 获取当前线程关联的student: std = local_school.student print('Hello原创 2020-05-30 09:44:03 · 305 阅读 · 0 评论 -
python之多线程
threading启动一个线程就是把一个函数传入并创建Thread实例,然后调用start()开始执行:import time, threading# 新线程执行的代码:def loop(): print('thread %s is running...' % threading.current_thread().name) n = 0 while n < 5: n = n + 1 print('thread %s >>..原创 2020-05-29 17:30:53 · 134 阅读 · 0 评论 -
python之多进程
multiprocessingmultiprocessing模块就是跨平台版本的多进程模块。from multiprocessing import Processimport os# 子进程要执行的代码def run_proc(name): print('Run child process %s (%s)...' % (name, os.getpid()))if __name__=='__main__': print('Parent process %s.' % os.g..原创 2020-05-29 16:22:02 · 114 阅读 · 0 评论 -
python中的序列化
把一个python对象序列化为jsom>>> import json>>> d = dict(name='Bob', age=20, score=88)>>> json.dumps(d)'{"age": 20, "score": 88, "name": "Bob"}'dumps()方法返回一个str,内容就是标准的JSON。类似的,dump()方法可以直接把JSON写入一个file-like Object。要把JSON反序列化为Pyth..原创 2020-05-29 12:04:46 · 182 阅读 · 0 评论 -
python中使用type()来创建类
type()可以查看一个类型或变量的类型也可以用来创建类>>> def fn(self, name='world'): # 先定义函数... print('Hello, %s.' % name)...>>> Hello = type('Hello', (object,), dict(hello=fn)) # 创建Hello class>>> h = Hello()>>> h.hello()Hello, w..原创 2020-05-28 08:54:32 · 129 阅读 · 0 评论 -
python中的枚举类
每个常量都是class的唯一一个实列为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))这样就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个..原创 2020-05-27 22:53:15 · 205 阅读 · 0 评论 -
python中关于数据类型的操作汇总
字符串内置函数大小写capitalize():将字符串首字母大写title():将字符串的每个单词的首字母大写istitle():返回布尔值,字符串的每个单词的首字母大写则为True,否则为Falseupper():将字符串的字母大写isupper():返回布尔值,字符串每个单词的字母大写则为True,否则为Falselower():将字符串的字母小写返回布尔值,字符串的每个单词的字母小写则为True,否则为False查找find(‘xx’,start,end):从左边开始找rfi..原创 2020-05-21 10:18:56 · 109 阅读 · 0 评论