jinjia2 UnrecognizedImageError()

www.jpmnb.com

新需求总是不断,最近又要搞个pdf生成的东西,这次是要生成一个回执单。并且回执单内要包含现场图片,其实按照之前的做法要包含图片也不是非常困难。按照之前的做法重新下载图片,创建对象,写入的时候结果死活不成功。各种报错:

<body>
    <h1>Error response</h1>
    <p>Error code: 500</p>
    <p>Message: invalid data key not found.</p>
    <p>Error code explanation: 500 - Server got itself in trouble.</p>
</body>

Continue Reading

修改 Uptime-Kuma主题样式

虽然Uptime-Kuma有自定义css代码的地方,但是作为一个不会前端的全栈工程师,想要修改下样式感觉亚历山大。极其不友好啊,于是就想着看有没有现成的代码可以抄一下,搜索了一下找到了这个网站:https://docs.theme-park.dev/themes/uptime-kuma/

Continue Reading

若依Django框架soft-delete导致的数据查询异常

 

在model中定义一个设备分组:

class DeviceGroup(CoreModel):
    name = models.CharField(blank=False, null=False, max_length=64, help_text='名称')
    dept = models.ForeignKey(Dept, blank=True, null=True, on_delete=models.CASCADE, help_text='部门')
    parent = models.ForeignKey('self', null=True, blank=True, related_name='children', verbose_name='上级分组',
                               on_delete=models.SET_NULL)
    is_root = models.BooleanField(default=False, help_text='是否根目录')
    index = models.IntegerField(default=0, help_text='排序索引')
    function_field = models.JSONField(blank=True, null=True, help_text='默认代码')
    function_text = models.TextField(blank=True, null=True, help_text='默认代码文本')
    is_show = models.BooleanField(default=True, help_text='是否显示')

Continue Reading

Python生成Pdf报告

生成报告这个功能应该也有很多办法。因为我不会前端相关的开发,所以只能尝试用python来生成pdf报告。在实际使用的过程中发现现有的操作pdf的库体验都不是很好。所以改变策略尝试两步来实现pdf生成:

1.通过jinja2库操作doc文档根据模板生成相关的word文档

2.通过openoffice或者其他的命令行工具生成pdf,这是常规做法。还有另外一个办法就是通过oss的pdf转换功能生成pdf,这么做的好处是生成完了直接可以顺便生成一个下载链接,可以直接使用。

Continue Reading

Django FileField导致的Swagger异常

年前接的能源项目弄到现在还没交付出去,甲方的需求一直在变,另外对于能源行业也了解的并没有那么深入,就导致项目做起来非常累。最近几年其实没怎么写过代码,除了一些需要设计或者对接算法以及处理文本图像等代码其他人员写不了,会写个接口来出来一下。这个能源项目干到现在相当于把过去几年没写的代码都补回来了。

Continue Reading

Nginx日志分析工具goaccess

时不时地会出现服务器cpu占用率100%的情况,基本到这时候php基本就全挂了,而出问题的也是php-fpm这个进程。说实话对于这个破进程真是没什么好的想法,进程数量怎么设置都不对,反正就是只要开机就各种卡。其实也考虑过是不是被攻击了,但是就这么个破网站,个人感觉攻击也没什么意思啊。图什么呢~~

通过top命令以及trace命令,没有找到什么有用的线索。不过通过查看访问日志可以看到每秒都有数条请求,这尼玛就很神奇啊,每天的访问量不过1k多点,怎么可能会每一秒都那么多请求呢。通过tail命令查看访问日志太蛋疼了,于是就想着找个更加可视化的工具,于是找到了goaccess:

GoAccess是一款开源的且具有交互视图界面的实时Web 日志分析工具,通过你的Web 浏览器或者 *nix 系统下的终端程序(terminal)即可访问。 能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化视图。

Continue Reading

Python3 常用日期计算方法

后台做数据分析汇总的时候需要处理各种时间段,每天的零点、每周的第一天最后一天、每月的第一天最后一天等,不知道有没有现成的可用库来处理。搜索的基本也是各种其他人写的方法,我这里汇总了一下(抄了一些代码)。

日期处理一般会用到下面几个库:time,datetime,calendar。一般通过这几个库来处理时间也够用了。

time 模块

该模块包括使用时间执行各种操作所需的所有与时间相关的功能,它还允许我们访问多种用途所需的时钟类型。

Continue Reading

Django Export XLS 【Windows安装】

今天在windows电脑上安装django-export-xls的时候报错了:

(venv) PS F:\Pycharm_Projects\Ruoyi-Energy> pip3 install django-export-xls                                                         
Collecting django-export-xls
  Using cached django-export-xls-0.1.1.tar.gz (3.2 kB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status 1:
obaby\AppData\Local\Temp\pip-pip-egg-info-u0lvqod1'
       cwd: C:\Users\obaby\AppData\Local\Temp\pip-install-xrhra6sx\django-export-xls_d72b66d322264c26b516fda785f307fd\
  Complete output (5 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\obaby\AppData\Local\Temp\pip-install-xrhra6sx\django-export-xls_d72b66d322264c26b516fda785f307fd\setup.py", line 4, in <module>
      README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()
  UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 918: illegal multibyte sequence
  ----------------------------------------

Continue Reading