问题:如何返回树结构的数据?
方法:
amodules = self.db.query(
AModule.id, AModule.name, AModule.parent_id).filter(
AModule.is_delete == 0).all()
问题:如何返回树结构的数据?
方法:
amodules = self.db.query(
AModule.id, AModule.name, AModule.parent_id).filter(
AModule.is_delete == 0).all()
问题:python如何导出xls
解决:使用xlrd, xlwt, xlutils
方法:
一、无模板文件导出数据,导出为StringIO流
import xlwt
from io import BytesIO
问题:如何在ubuntu1804上安装python3.5?
方法:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.5
sudo apt install python3.5-dev
sudo apt install python3.5-venv
安装完成后检查下默认python3是否已经修改了,如果没有,去/usr/bin/下进行修改软件链接
问题:如何将后台python加密的密文使用cryptoJS解密?crypto-js解密报错malformed utf-8 data
解决:注意python端Crypto模块和前端crypto-js的配合使用
方法:
python代码:
def pad(data):
length = 16 - (len(data) % 16)
return data + chr(length)*length
def unpad(data):
return data[:-ord(data[-1])]
def encrypt(message, passphrase):
IV = Random.new().read(BLOCK_SIZE)
aes = AES.new(passphrase, AES.MODE_CFB, IV, segment_size=128)
return base64.b64encode(IV + aes.encrypt(pad(message)))
def decrypt(encrypted, passphrase):
encrypted = base64.b64decode(encrypted)
IV = encrypted[:BLOCK_SIZE]
aes = AES.new(passphrase, AES.MODE_CFB, IV, segment_size=128)
return unpad(aes.decrypt(encrypted[BLOCK_SIZE:]))
问题:Failing command: ['/var/www/updown/.venv/bin/python3.6
解决:需要安装python3-pip
方法:
sudo apt-get install python3.6
sudo apt install python3-pip
sudo apt-get install python3-venv
sudo python3.6 -m venv .venv
参考:
https://blog.csdn.net/weixin_42555131/article/details/80832577