Skip to content

适用虚谷数据库版本

v12.10.13



适用虚谷数据库版本

v12.10.13


Django 使用手册 ​

📄字数 1.6K
👁️阅读量 加载中...

本文档将介绍 XuguDB 对 Django 框架的适配情况,并提供使用 Django 开发 XuguDB 应用的 Demo 指南。

框架名称适配起始版本官网地址源框架下载地址XuguDB框架下载demo程序地址
Django4.2.1Django官网Django官方下载版本发布列表xugu-django

提示

其他适配版本可详见版本发布列表

一、方言包使用说明 ​


获取 XuguDB 方言压缩包后,将解压目录内所有 .py 文件放置到虚谷 Python 驱动包内,驱动包放置到应用启动文件同级目录中,并在 Django 配置文件 settings.py 中添加 XuguDB 驱动,即可正常开发 XuguDB Django 应用。

python
DATABASES = {
    'default': {
        'ENGINE': 'xgcondb', 
        'NAME': 'SYSTEM',
        'USER': 'SYSDBA',
        'PASSWORD': 'SYSDBA',
        'HOST': '127.0.0.1',
        'PORT': 5138,
    }
}
  • ENGINE : 引擎名称。

  • NAME : 连接库名。

  • USER : 连接用户名。

  • PASSWORD : 连接用户口令。

  • HOST : 连接IP,多IP使用逗号间隔。

  • PORT : 连接端口号。

二、连接示例程序 ​

本章节将介绍在 Django 应用连接 XuguDB ,实现基本的数据库操作,包括创建表、插入数据、更新数据和查询数据等。

2.1 前提条件 ​

  • 已安装 Python 3.x 。
  • 计算机已部署 XuguDB 12.0.0 或有能连接访问的虚谷数据库实例。

2.2 操作步骤 ​

  1. 获取 XuguDB 连接信息。
  2. 安装 Django 库。
  3. 编写 settings.py 文件,配置数据库连接信息。
  4. 启动应用,访问接口。

2.2.1 修改 settings.py 文件,编写数据库连接信息 ​

根据 方言包使用说明 中配置说明和 XuguDB 连接信息修改 Demo 项目 setting.py 文件,填入数据库连接信息。

2.2.2 进行数据迁移 ​

在 mysite 目录下打开命令行工具,执行以下命令,执行 Django 迁移文件:

python
python manage.py migrate

2.2.3 应用启动 ​

在 mysite 目录下打开命令行工具,执行以下命令,启动 Django 应用:

python
python manage.py runserver

该 Demo 项目提供九个接口链接,接口源码编写在 testdb/views.py 文件,功能详情如下表:

接口名称接口访问链接接口展示功能
testhttp://127.0.0.1:8000/test/打印hello world测试项目正确启动
adduserhttp://127.0.0.1:8000/adduser/插入一条数据
deleteuserhttp://127.0.0.1:8000/deleteuser/删除一条数据
updateuserhttp://127.0.0.1:8000/updateuser/修改一条数据
selectuserhttp://127.0.0.1:8000/selectuser/查询一条数据
delete_userhttp://127.0.0.1:8000/delete_user/条件删除
add_user_listhttp://127.0.0.1:8000/add_user_list/批量增加
add_user_list2http://127.0.0.1:8000/add_user_list2/批量增加
getusershttp://127.0.0.1:8000/getusers/执行原生SQL查询并打印数据至命令行界面

三、常见问题&解决办法 ​

在使用 Django 连接 XuguDB 时,可能会遇到各种错误。以下是一些常见的错误及其处理方法:

  • 连接错误:如果无法连接到数据库,请检查连接参数是否正确,包括主机名、端口、用户名、密码和数据库名,可以用其他客户端工具测试连接信息。

  • AttributeError: 'str' object has no attribute 'utcoffset' : 方言包未支持时区类型,将 settings.py 文件中的 USE_TZ 设置为False。

  • TypeError: _alter_column_type_sql() takes 5 positional arguments but 7 were given : 方言包版本与 Django 版本不匹配,更换对应版本方言包。