0%

最近在用Docusaurus V2.0编写产品的文档,发现生成的文档页面左下角会有个“编辑此页面”(英文版是”Edit this page”)的链接。因为这个文档交付给客户后其实没必要再进行编辑了,所以需要看下如何禁用掉这个链接。

阅读全文 »

最近看着Django 3.2 LTS发布了,就想着啥时候把当前项目用的Django 2.2版本给升级下。结果一升级,发现项目直接无法启动了,界面上在报类似下面的错误:

django.core.exceptions.ImproperlyConfigured: Cannot import ‘myapp’. Check that ‘apps.myapp.apps.MyappConfig.name’ is correct.

我在写这个项目的时候,习惯把自己创建的app都放到了项目src下的apps目录下,一个app一个目录,要import也应该是import apps.myapp啊,这里的import myapp失败是个啥问题?难道是这个写法到Django 3.2已经不支持了?

阅读全文 »

最近发现有的客户环境中用的是自签名的SSL证书来提供服务,于是项目中依赖这些服务的代码就开始咔咔报证书验证失败的错误了。

由于项目代码中并没有忽略证书验证的配置,所以只好想办法在不修改代码的情况下忽略证书的验证了。

阅读全文 »

近期想清理一批Confluence中离职的用户,以便于能释放一些License出来,却发现官方似乎没有提供批量清理的功能。官方的REST API中也没有提供禁用用户的接口,只好学习下Selenium,自己写个脚本来清理了。

阅读全文 »

用Django写项目,遇到临时需要处理数据库的问题时,会考虑直接让脚本在项目环境中运行,这样就可以直接用定义好的模型和方法了。

这里提供几种方法,通过Django执行指定的脚本,让脚本直接在Django项目的环境中来运行。

阅读全文 »

最近都在用YouTube Music来听歌,但是这东西有个问题就是他只是个Chrome的APP。当你习惯了网易云音乐这些应用点击关闭按钮就自动隐藏的操作后,点击YouTube Music的窗口就会悲剧了。

所以我简单写了个Chrome的扩展,向YouTube Music的页面中注入了一段代码,防止手误直接把YouTube Music给关闭掉,音乐不手滑,欢迎试用~

下载地址: https://chrome.google.com/webstore/detail/jmbefokklnmcljplonbibpiakiphbfag

最近搞等保的事情,在操作系统上安装了audit服务。但按照等保的要求,审计日志需要定时异地转储,所以查一下如何将audit服务的日志文件可以按时间来进行rotate。

阅读全文 »

最近在Django编写的一个系统中希望能加入对当前celery积压任务的展示,并且能提供功能来清理队列。我们使用了RabbitMQ作为了celery的broker,除了直接用kombu来编码实现需求外,还可以直接使用以下的方法来实现需要的功能,减少一些broker配置的代码。

阅读全文 »

最近使用Django admin在后台来添加删除一些数据,使用模型中的字段的choices来实现下拉框的功能,但是发现后期choices如果要新增或是删除就会要重新生成migrations文件,为了解决这个问题,只能设法让django的choices可以动态地生成了。

阅读全文 »

最近发现用Django写的某项目时不时会有报错发生,我们用的是postgresql+pgpool2的组合,日志显示报错信息如下:

1
2
3
4
5
psycopg2.OperationalError: unable to read data
DETAIL: child connection forced to terminate due to client_idle_limit:10 is reached
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

从报错日志来看,是由于pgpool2的client_idle_limit参数设置得太短,设置成了10秒,自动将10秒不活动的客户端连接给关闭了,但Django这边并没有感知数据库连接已经断开,还在继续使用数据库连接,导致了这个报错。

阅读全文 »