dmDjango的应用
环境配置与dm8
环境 linux 系统kylin cpu x86_64
因为有国产化需求所以需要使用dm8
下载资源在官网下载
本次使用文件名dm8_20250506_x86_rh7_64.zip
安装通过挂载下载,这里不过多称述
本文时间2025年6月20日
dm8与django4.2
在dm8下载后与django融合时需要数据库驱动
https://eco.dameng.com/document/dm/zh-cn/pm/dmpython-drive.html
根据官网提供的文档得知需要用到django_dmPython 驱动
但是安装后的dmdbs安装目录里没有django_dmPython只有dmDjango
这里根据官方方法在dmDjango3.0里进行安装
如果有python的虚环境先激活虚拟环境
安装后查看是否安装成功
django数据库连接
在pip安装好dmdjango后复制dmDjango到backends里
cp -r venv/lib/python3.10/site-packages/dmDjango-3.0.5-py3.10.egg/dmDjango/ venv/lib/python3.10/site-packages/django/d
b/backends/
因为这次使用的django版本是4.2,所以有些语法需要修改。如果不是可以不使用。
# 修改 operations.py
sed -i 's/from django.utils.encoding import force_bytes, force_text/from django.utils.encoding import force_bytes, force_str/' venv/lib/python3.10/site-packages/django/db/backends/dmDjango/operations.py
# 修改 utils.py
sed -i 's/from django.utils.encoding import force_text/from django.utils.encoding import force_str/' venv/lib/python3.10/site-packages/django/db/backends/dmDjango/utils.py
# 修改 utils.py
sed -i 's/from django.utils.encoding import force_bytes, force_text/from django.utils.encoding import force_bytes, force_str as force_text/' venv/lib/python3.10/site-packages/django/db/backends/dmDjango/utils.py
# 修改 operations.py
sed -i 's/from django.utils.encoding import force_bytes, force_text/from django.utils.encoding import force_bytes, force_str as force_text/' venv/lib/python3.10/site-packages/django/db/backends/dmDjango/operations.py
将原先django的setting.py文件进行修改
#DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.mysql',
# 'NAME': '数据库名称',
# 'USER': 'root',
# 'PASSWORD': '密码',
# 'HOST': '127.0.0.1',
# 'PORT': '3306',
# 'OPTIONS': {
# 'charset': 'utf8mb4',
# },
# }
#}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.dmDjango',
'NAME': '数据库名称', #数据库名称
'USER': 'SYSDBA',
'PASSWORD': '密码',
'HOST': '127.0.0.1',
'PORT': '5236',
}
}
参考
https://blog.csdn.net/qq_35349982/article/details/132165581

浙公网安备 33010602011771号