操作内存的流-StringIO | BytesIO
from io import StringIO, BytesIO#创建操作字符串的内存流sf = StringsIO()#往内存中写sf.write('hello')#在内存中取sf.getvalue()# 创建操作二进制的内存流bf = BytesIO()# 往内存中写bf.write('hello'.encode('utf-8'))# 在内存总取bf.getvalue()
PIL: python图片操作库
安装:Pillow模块
# 1.生成图片from PIL import Image#生成一个Image类对象(准图片):模式、尺寸、颜色img = Image.new('RGB', (80,80),color=(255,0,0))#将Image类对象采用具体格式放入具体的文件流中bf=BytesIO() #内存字节流img.save(bf,'png')# 2.产生文字颜色from PIL import ImageFont#产生某种ttf格式的30px大小的文字img_font = ImageFont.truetype('*.ttf', size=30)# 3.画图from PIL import ImageDraw#在具体的Image对象上画图img_draw = ImageDraw.Draw(img)#画文字:xy轴、文本、颜色、ImageFont字体img_draw.text((x,y),'abc','red',img_font)
前端解析二进制流图片
// 向指定url请求图片二进制流转换为blob:格式的srcvar xhr = new XMLHttpRequest();xhr.open('GET', url, true); // urlxhr.responseType = "blob";xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { var blod = this.response; var src = URL.createObjectURL(blod); // src } }};xhr.send();
Django的admin自动化数据管理界面
admin的概念:
# Admin是Django自带的一个功能强大的自动化数据管理界面# 被授权的用户可以直接在Admin中操作数据库# Django提供了许多针对Admin的定制功能
配置并访问自动化书库管理界面:
# 终端项目目录创建一个超级用户:python3 manage.py createsuperuser# eg:Username:root | Email:root@root.com | Password:1234qwer# 浏览器Admin入口:http://127.0.0.1:8000/admin# 设置Admin界面为中文环境:项目下settings.py,LANGUAGE_CODE = 'zh-Hans'# 简体:zh-hans | 繁体:zh-hant | 美式英语:en-us
将指定映射添加到自动化数据管理界面:
# 应用下的admin.py中,注册映射对应关系的类from . import modelsadmin.site.register(models.Article)
格式化界面字段显示名与表名:
# 为应用下models.py映射关系类重写__str__方法class Article(models.Model): title = models.CharField(max_length=32, default='Title', verbose_name="标题") content = models.TextField(null=True, verbose_name="内容", blank=True) # 重写__str__方法,格式化该类实例对象的表示方式 def __str__(self): return self.title class Meta: verbose_name = "文章" verbose_name_plural = verbose_name