- 博客(13)
- 收藏
- 关注
原创 django orm查询经纬度最近距离的数据
参考网上计算距离的方法,用orm实现,代码如下from django.db.models.functions import ACos, Sin, Cos# lat,long,km 是接口传进来的参数,经纬度和距离# PI_VALUE是python math.pi, 由于数据库存的经纬度是decimal,所以PI_VALUE=decimal.Decimal(pi)# REDIUS = decimal.Decimal(180)# F('lat') F('long') 是使用数据库的值进行计算XX
2022-02-25 17:44:51 738
原创 python类型检查装饰器
由于python动态类型的特点,参数类型只是作为一个提示的作用,不会实际的报错。以下参数类型装饰器主要是使用inspect模块获取修饰方法传入的参数以及参数的类型,然后通过isinstance判断类型是否相同,不同类型会raise一个报错信息import functoolsimport inspectfrom inspect import Parameter"""类型检查装饰器小demo"""def func_check(func): @functools.wraps(func)
2021-11-22 18:05:11 591
原创 Django Query Values的一些方法
django filter values 别名(alias)方法一:在values中使用 django.db.models.F 进行重命名,注意 不需要重命名的参数需要放前面orders = Order.objects.filter( ... ).values( 'xxxx', transaction_id=F('orderdetails__transaction_id'), time_end=F
2021-10-14 12:55:40 678
原创 python RSA-OAEP模拟node-forge js加密
RT,记录python 模拟 node-forge js加密代码前端JS代码(node-forge.js):function o(e) { var t = r.pki.publicKeyFromPem("PUBLIC KEY").encrypt(e, "RSA-OAEP", { md: r.md.sha256.create(), mgf1: { md: r.md.sha1.create() } }); ret
2021-09-03 14:39:39 634
原创 python生成腾讯云点播的签名
最近项目需要用到腾讯云点播的一些功能,前后端交互进行视频的上传,后端使用python生成signature进行返回,因此记录一下签名的生成。import base64import hmacimport randomimport timefrom hashlib import sha1class VodClient: def __init__(self, secret_id: str, secret_key: str, exp_time: int = 7000): ""
2021-07-12 12:15:06 264
原创 MongoEngine自定义Queryset
BaseModel:class BaseModel(Document): is_delete = BooleanField(default=False) # 软删除 is_block = BooleanField(default=False) # 禁用 create_time = DateTimeField(default=datetime.now) # 创建时间 update_time = DateTimeField() # 更新时间 meta = {
2021-04-20 12:19:24 431
原创 pymysql-replication No module named ‘pymysql.util‘ 的解决办法
最新的pymysql-replication所带的pymsql依赖包的版本是1.0.2,导致出现了 No module named ‘pymysql.util’ 的问题,如下图解决办法:1)先删除新版本的包pip uninstall pymsql2)重新装pysql 0.9.3版本pip install pymysql==0.9.3...
2021-04-07 15:55:12 2225 2
原创 python将列表数据转换成树结构数据
将list数据转成dict格式的树结构测试数据:test_data = [ {'id': 1, 'parent_id': 0, 'name': '学校'}, {'id': 2, 'parent_id': 1, 'name': 'A校区'}, {'id': 3, 'parent_id': 1, 'name': 'B校区'}, {'id': 4, 'parent_id': 1, 'name': 'C校区'}, {'id': 5, 'parent_id': 2, 'na
2020-12-09 16:52:15 3436
原创 TemplateSyntaxError "'news_filters' is not a registered tag library. 解决办法
在使用uwsgi + nginx + django部署项目的时候,如果使用到自己定义的过滤器,很容易会出现500错误(如标题)解决办法:使用python manage.py runserver确保自己的过滤器可以使用在settings.py中的TEMPLATES中添加 ‘libraries’ 配置信息TEMPLATES = [ { 'BACKEND': 'dja...
2020-03-07 12:25:36 288
原创 如何查找uwsgi部署django项目出现的500错误
uwsgi+django项目使用python manage.py runserver是没有问题的,但是用uwsgi返回的却一直是500页面,而且没有报具体的错误,遇到这种情况使用以下的办法就可以很轻易找到问题所在了。在views.py中创建一个函数,使用sys.exc_info() 方法定位到发生问题的原因,并渲染到500.html模板上def page_error(request): ...
2020-03-07 12:13:16 2788 1
原创 ValueError:RSA key format is not supported
python3使用python-alipay-sdk对接支付宝的时候,可能会出现以下error不支持RSA密钥格式解决办法:把公钥和私钥的内容先读出来,然后再用读出来的内容去创建Alipay对象...
2020-01-16 15:45:27 4957 3
原创 python动态导入模块
import importlibfor full_class_name in PROXIES_SPIDERS: # IPProxyPool.core.proxy_spider.proxy_spiders.XicidailiSpider module_name, class_name = full_class_name.rsplit('.', maxsplit=1) module = imp...
2019-11-08 10:49:35 111
原创 python logging简单模块代码
import sysimport loggingLOG_LEVEL = logging.INFO# 默认信息格式LOG_FMT = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'# 默认时间格式LOG_DATEFMT = '%Y-%m-%d %H:%M:%S'# 默认日志文件名称...
2019-11-07 15:08:43 100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人