年前接的能源项目弄到现在还没交付出去,甲方的需求一直在变,另外对于能源行业也了解的并没有那么深入,就导致项目做起来非常累。最近几年其实没怎么写过代码,除了一些需要设计或者对接算法以及处理文本图像等代码其他人员写不了,会写个接口来出来一下。这个能源项目干到现在相当于把过去几年没写的代码都补回来了。
Django Export XLS
python读写csv是非常方便的,但是读写xls就稍微麻烦一些,涉及到行和列的问题。为了导出数据,搜了一下找到这么个插件:https://github.com/Daiech/django-export-xls,集成非常简单,只需要下面几步就ok了:
1. 安装:: $ pip install django-export-xls 2. 将"export_xls" 添加到 INSTALLED_APPS:: INSTALLED_APPS = ( ... 'export_xls', ) 3. 修改以下两个路径MEDIA_ROOT 和MEDIA_URL eg:: import os MEDIA_ROOT = os.sep.join([os.path.dirname(os.path.dirname(__file__)), 'media']) MEDIA_URL = '/media/' 4. 执行数据导出: 定义以下几个数据:文件名、表头、导出数据
在Django中使用MQTT的方法
关于若依Python(Django-Vue-Admin)的一些设置
Django-Vue-Admin 是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
- 前端采用ruoyi-ui 、Vue、Element UI。
- 后端采用Python语言Django框架。
- 权限认证使用Jwt,支持多终端认证系统。
- 支持加载动态权限菜单,多方式轻松权限控制。
Django 代码保护
常用的代码保护不外乎下面几种方法:
发行 .pyc 文件 代码混淆 使用 py2exe 使用 Cython
django发布的需要以服务运行,通过其他的几种方法来实现保护,都不太现实。所以发布可以通过cython的方式实现。
1. 安装cython
pip3 install cython
2.在项目目录创建setup.py 编辑内容如下,其中“app/file1.py”是你所要打包的py文件名,这儿需要把app下所有的py文件都添加进来(当然也可以添加部分)
from distutils.core import setup from Cython.Build import cythonize fileSet = set() fileSet.add("UserBase/models.py") fileSet.add("UserBase/views.py") setup( ext_modules=cythonize(fileSet) )
django使用多个数据库
通过官方文档https://docs.djangoproject.com/zh-hans/3.1/topics/db/multi-db/和csdnhttps://blog.csdn.net/songfreeman/article/details/70229839的这两篇文章可以进行多数据库的设置。但是设置后可能会出现问题,由于我连接的数据库是通过inspactdb的方法得到的model。于是在migrate的时候出现了问题,会提示 1146, “Table xxx doesn’t exist” 。后来发现问题可能出在路由表上,按照DATABASE_APPS_MAPPING映射之后,django默认的表如果要写入可能会找不到数据库。而源代码里的映射关系并不包含新加入的app,例如grappelli等。
DATABASE_APPS_MAPPING = {
# example:
# 'app_name':'database_name',
# 'admin': 'default',
# 'users': 'default', #django
'basic_estate': 'basic_estate',
'footstone': 'footstone',
'mall': 'hsmall',
'iot_biz': 'iot_biz',
'mall': 'mall',
'hsuser': 'hsuser',
}