django项目编译遇到的问题
报错条件
需要编译的python源码里面的函数写了type hint,尤其是return的type hint,
当type hint是str时,但是变量确实f-string格式化后得到的,编译时会报错
报错原因
easycython会检查变量类型,但是f-string格式化后的字符串变量,在cython里面不认为时str类型,不能隐式地编译为str类型
解决问题
- 去掉type hint的
str
- 或者使用
str('xxx',encoding='utf-8)
, 或者'xxx'.encode('utf-8')
显式转为str