Django queryset 序列化

写MVC模式的Django代码的时候,queryset可以直接传入Template可以直接渲染。但通过ajax请求的或者Json交互的前后分离模式就需要将orm返回的结果进行序列化。之前一直用model_to_dict来做,但这个函数有个弊端就是当数据中有不能hash的字段的时候会抛出异常,比如日期我们就得自己给单字段format。 最近发现Django自带的一个新姿势serializer...

阅读全文

Angular动态加载js文件

在做付钱拉支付的时候,要使用它的js包。 在html中通过script标签引入 <script src="xxxx.js"></scritp> 这种方法必须将代码写在index.html中,写到component中不好使。这样的话所有页面的都会加载这个js文件,没有必要而且会增加加载时间。 网上还有一种方法是在angular.json中引入,然后在typin...

阅读全文

Angular下载文件

之前MVC那一套写文件下载的时候前端直接href,后端返回一个流式响应即可,浏览器就会自动下载。但使用前后分离后我想用之前的逻辑来着,但不是用href,而是用angular的HttpClient,开发环境用的--proxy-config,用href的话需访问后端端口,但在生产环境后端和前端是代理在同一端口的(在同一机器上。。。) 于是我开始按照之前的逻辑整,使用HttpClient来请求数...

阅读全文

Nginx同一域名下代理airflow与flower

airflow的webserver默认监听为8080端口,若使用Celery执行任务,一般也会开启flower来监控Celery任务,而flower默认监听端口为5555。这样的话每次还得输入端口号来访问这两个服务,很不方便。我就想能不能将两个服务使用nginx代理到同一端口(80或者的433),而通过路由/airflow和/flower分别来访问。 在文档里查了一下,果不其然airflo...

阅读全文

Angular @Input()根据传入值自适应显示

在使用那NZ-ZORRO的时候发现很多组件的传入值既可以是sting类型,也可以是TemplateRef,比较灵活。我也试着实现这样的组件,开始使用ngTemplateOutlet来做的,发现只支持tempalte,传入string就报错了。后来看了ng-zorro的源码发现其实他们是根据类型判断走不同的ng-container来实现的。我以为这里用高级用法呢,有些失望。我也安ng-zorr...

阅读全文

python使用Zookeeper实现操作锁

今天做产品购买的时候看到之前的一些代码,核心代码如下 from kazoo.client import * from gateway import config class ZookeeperLock: def __init__(self, servers): self.zk = KazooClient(",".join(servers)) la...

阅读全文