☯️

Python

花里胡哨::zshrc每日一个修仙小技巧

zshrc
本文章记录实现一个花里胡哨的终端 前言 某日,突然想到群里有发过花里胡哨的zshrc终端,闲着无事,也想捣鼓捣鼓。 看过一些效果图,大多都是天气预报、git状态、电脑状态等。 由于平时喜欢修仙,于是方向就有了! 实现 ... 我也懒得详细描述了 #传送门. 效果图

Django Rest Framework Image Upload

drf
本文章记录在drf框架中实现图片上传功能. models.py import os from uuid import uuid4 from datetime import datetime from django.utils import timezone from django. Read more...

Django Models查库姿势

django
本文章记录django models使用姿势 datetime时间范围查询 查询今天内的的数据 from datetime import datetime from datetime import time now_datetime = datetime.now() min_datetime = datetime. Read more...

使用Django Rest Framework进行API接口开发

drf
本文章记录使用drf框架进行API接口开发 安装 安装模块 pip install djangorestframework 快速启动项目 # 生成一个名为name的项目 django-admin startproject app # 生成名为api的app django-admin startapp api 引入 settings. Read more...

尝试自己写一个Python缓存装饰器

python
本文记录尝试编写一个简单的缓存装饰器,以学习为目的,实际生产环境建议大家用标准库。 from hashlib import md5 from pickle import dump, load # 用pickle进行数据的读取、写入 def _dkL(f): with open(f,'rb') as file: return load(file) def _dkD(o,f): with open(f, 'wb') as file: return dump(o,file) def cache(ex_time=10, start=0, have_args=True, have_kw=True, cache_path="/tmp/pyCache"): # 判断缓存目录是否存在 if not path. Read more...

Django Rest Framework 分页功能与搜索功能

drf
本文章记录在drf框架中实现分页、搜索功能. 实践 分页器 分页器的实现官网介绍有两种方式: 配置文件配置 继承父类完成自定义分页器 分析分页器源码 自定义分页器主要是继承PageNumberPagination,改写get_paginated_response方法与paginate_queryset方法. > 其中get_paginated_response主要是编写分页器的返回结果. 需求示例: 前端采用iView组件中的分页器,该前端分页器主要接收总页数与当前页数.所以后端需要返回数据,并且返回一个总页数. class MyPagination(PageNumberPagination): # 指定每一页的个数,默认为配置文件里面的PAGE_SIZE page_size = 10 # 可以让前端指定每页个数,默认为空,这里指定page_size去指定显示个数 page_size_query_param = 'page_size' # 可以让前端指定页码数,默认就是page参数去接收 page_query_param = 'page' # 指定返回格式,根据需求返回一个总页数,数据存在results字典里返回 def get_paginated_response(self, data): from collections import OrderedDict return Response( OrderedDict([('count', self. Read more...

Django Rest Framework JWT鉴权实践

drf
本文章记录在drf框架中对JWT鉴权实践过程. 实践 安装djangorestframework-jwt模块 场景1: 修改默认Username作为用户名验证 改成以uid作为用户名 settings.py JWT_PAYLOAD_GET_USERNAME_HANDLER = 'uid' # 修改验证后端 AUTHENTICATION_BACKENDS = [ 'auth. Read more...
1 of 1