Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。
二、系统要求:
1,操作系统使用CentOS 7.8
2,unixODBC已经安装
3,GBase 8s CSDK 64bit(客户端连接工具)已经安装
4,Python版本是3.7.8(系统自带)
5,Django版本使用2.1
6,需要pyodbc
7,使用django-gbasedbtdb 1.7.0版本
8,使用PyCharm Community Edition开发测试
三、安装配置步骤
1、GBase 8s CSDK安装
GBase 8s CSDK已经安装,并且根据实际情况配置。
环境变量根据GBase 8s数据库的实际情况配置:主要的参数包括DB_LOCALE、CLIENT_LOCALE、GBASEDBTDIR、GBASEDBTSERVER、GL_USEGLU(如果数据库配置了,需要配置)、GBASEDBTSQLHOSTS、LD_LIBRARY_PATH。如:
export GBASEDBTDIR=/opt/gbase
export GBASEDBTSERVER=gbase01
export ONCONFIG=onconfig.
G
B
A
S
E
D
B
T
S
E
R
V
E
R
e
x
p
o
r
t
P
A
T
H
=
{GBASEDBTSERVER} export PATH=
GBASEDBTSERVERexportPATH={GBASEDBTDIR}/bin:
P
A
T
H
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
{PATH} export LD_LIBRARY_PATH=
PATHexportLDLIBRARYPATH=GBASEDBTDIR/lib:
G
B
A
S
E
D
B
T
D
I
R
/
l
i
b
/
c
l
i
:
GBASEDBTDIR/lib/cli:
GBASEDBTDIR/lib/cli:GBASEDBTDIR/lib/esql:
L
D
L
I
B
R
A
R
Y
P
A
T
H
e
x
p
o
r
t
G
B
A
S
E
D
B
T
D
I
R
=
LD_LIBRARY_PATH export GBASEDBTDIR=
LDLIBRARYPATHexportGBASEDBTDIR=GBASEDBTDIR/etc/sqlhosts
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1
export DBDATE=“Y4MD-”
export GL_DATE=“%iY-%m-%d”
export GL_DATETIME=“%iY-%m-%d %H:%M:%S”
export DBACCESS_SHOW_TIME=1
在$GBASEDBTSQLHOSTS中配置相应的数据库服务连接,如:
1 gbase01 onsoctcp 192.168.80.101 9088
2、unixODBC配置
确认unixODBC及unixODBC-devel均已经安装,根据数据库配置odbc.ini
[ODBC Data Sources]
utf8=GBase ODBC DRIVER
;
; Define ODBC Database Driver’s Below - Driver Configuration Section
;
[utf8]
Driver=/opt/gbase/lib/cli/iclit09b.so
Description=GBase ODBC DRIVER
Database=utf8
LogonID=gbasedbt
pwd=GBase123
Servername=gbase01
CursorBehavior=0
CLIENT_LOCALE=zh_CN.utf8
DB_LOCALE=zh_CN.utf8
TRANSLATIONDLL=/opt/gbase/lib/esql/igo4a304.so
;
; UNICODE connection Section
;
[ODBC]
;uncomment the below line for UNICODE connection
;UNICODE=UCS-4
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/opt/gbase
TRACEDLL=idmrs09a.so
并将ODBCINI加入到环境变量中去
1 export ODBCINI=$HOME/odbc.ini
3、Python安装
通过yum安装python3及python3-devel
1 yum install python3 python3-devel
Linux下安装完pip3之后,利用pip安装第三方库是默认是从国外下载包的。可以把镜像源设置成国内的,这样安装第三方库时可以获得更快的下载速度。
设置方法如下:
1)、在用户 目录下面,新建一个.pip文件夹
2)、在.pip文件夹下新建pip.conf文件
pip.conf文件的内容如下:
1
2 [global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
这里设置成了清华的镜像源,也可以设置成其他的,比如
“https://mirrors.aliyun.com/pypi/simple”
或
“http://pypi.douban.com/simple”
4、Django 2.1安装
直接使用pip3安装Django,命令如下:
1 pip3 install Django==2.1
显示Django的版本
1 pip3 list
5、安装pyodbc
pyodbc安装需要gcc,gcc-devel,gcc-c++,python3-devel
直接使用pip安装pyodbc,命令如下:
1 pip3 install pyodbc
将自动安装最新的版本,需要的pyodbc版本需高于4.0.21
6、安装django-gbasedbtdb 1.7.0
Django-gbasedbtdb 1.7.0由Django-informixdb 1.7.0修改而来,适用于Django 2.1版本
Django-gbasedbtdb 1.7.0下载地址:https://gbasedbt.com/dl/django-gbasedbtdb
下载后解压至django-gbasedbtdb-1.7.0目录下
在django-gbasedbtdb-1.7.0h目录下,执行安装
1 python3 setup.py build install
安装过程中会检查依赖包并且安装。
安装完成后,显示django-gbasedbtdb的版本
[gbasedbt@gbasehost01 ~]$ pip3 list
Django (2.1)
django-gbasedbtdb (1.7.0)
pip (9.0.3)
pyodbc (4.0.30)
pytz (2020.1)
setuptools (39.2.0)
7、安装PyCharm
PyCharm需要java 1.8的支持,故系统需要安装openjdk 1.8
解压pycharm-community-2020.2.1.tar.gz生成pycharm-community-2020.2.1目录,在用户的环境变量中增加PYCHARM_HOME=
H
O
M
E
/
p
y
c
h
a
r
m
−
c
o
m
m
u
n
i
t
y
−
2020.2.1
,
及
P
A
T
H
=
HOME/pycharm-community-2020.2.1,及PATH=
HOME/pycharm−community−2020.2.1,及PATH=PYCHARM_HOME/bin:
P
A
T
H
12
e
x
p
o
r
t
P
Y
C
H
A
R
M
H
O
M
E
=
PATH 1 2 export PYCHARM_HOME=
PATH12exportPYCHARMHOME=HOME/pycharm-community-2020.2.1
export PATH=
P
Y
C
H
A
R
M
H
O
M
E
/
b
i
n
:
PYCHARM_HOME/bin:
PYCHARMHOME/bin:PATH
四、项目连接数据库
在Projects目录下,执行
1 django-admin startproject proj01
命令,创建一个新的proj01项目
开启PyCharm,打开项目$HOME/Projects/proj01
编辑settings.pys文件,在DATABASES中,使用以下内容替换掉default
同时,可选修改以下内容
‘default’: {
‘ENGINE’: ‘django_gbasedbtdb’, # 引擎使用django_gbasedbtdb
‘NAME’: ‘utf8’, # 连接名
‘SERVER’: ‘gbase01’, # GBASEDBTSERVER
‘USER’: ‘gbasedbt’,
‘PASSWORD’: ‘GBase123’,
‘OPTIONS’: {
‘DRIVER’: ‘/opt/gbase/lib/cli/iclit09b.so’, # Linux, iclit09b.so
‘CPTIMEOUT’: 120,
‘CONN_TIMEOUT’: 120,
‘ISOLATION_LEVEL’: ‘READ_UNCOMMITTED’,
‘LOCK_MODE_WAIT’: 10,
‘VALIDATE_CONNECTION’: True,
},
‘CONNECTION_RETRY’: {
‘MAX_ATTEMPTS’: 10,
},
‘TEST’: {
‘NAME’: ‘utf8’,
‘CREATE_DB’: False
}
}
1 同时,可选修改以下内容
ALLOWED_HOSTS = [‘*’]
LANGUAGE_CODE = ‘zh-Hans’
TIME_ZONE = ‘Asia/Shanghai’
1、在PyCharm的终端中运行
1 python3 manage.py startapp app01
五、试用Django API
执行以下命令打开Python Shell
[gbasedbt@gbasehost01 proj01]$ python3 manage.py shell
Python 3.6.8 (default, Apr 2 2020, 13:34:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
(InteractiveConsole)
尝试执行以下API接口操作
from app01.models import Book
Book.objects.all()
<QuerySet []>
book1 = Book(title=“GBase 8s”, price=100, publish=“GBase Publish”)
book1.save()
Book.objects.all()
<QuerySet [<Book: Book object (1)>]>
book1.id
1