Django 使用手册
📄字数 1.6K
👁️阅读量 加载中...
本文档将介绍 XuguDB 对 Django 框架的适配情况,并提供使用 Django 开发 XuguDB 应用的 Demo 指南。
框架名称 | 适配起始版本 | 官网地址 | 源框架下载地址 | XuguDB框架下载 | demo程序地址 |
---|---|---|---|---|---|
Django | 4.2.1 | Django官网 | 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 操作步骤
- 获取 XuguDB 连接信息。
- 安装 Django 库。
- 编写 settings.py 文件,配置数据库连接信息。
- 启动应用,访问接口。
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 文件,功能详情如下表:
接口名称 | 接口访问链接 | 接口展示功能 |
---|---|---|
test | http://127.0.0.1:8000/test/ | 打印hello world 测试项目正确启动 |
adduser | http://127.0.0.1:8000/adduser/ | 插入一条数据 |
deleteuser | http://127.0.0.1:8000/deleteuser/ | 删除一条数据 |
updateuser | http://127.0.0.1:8000/updateuser/ | 修改一条数据 |
selectuser | http://127.0.0.1:8000/selectuser/ | 查询一条数据 |
delete_user | http://127.0.0.1:8000/delete_user/ | 条件删除 |
add_user_list | http://127.0.0.1:8000/add_user_list/ | 批量增加 |
add_user_list2 | http://127.0.0.1:8000/add_user_list2/ | 批量增加 |
getusers | http://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 版本不匹配,更换对应版本方言包。