Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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 版本不匹配,更换对应版本方言包。