Django+xadmin+rules 环境搭建 第一章

Django2.0只支持Oracle 12.1,要连接11g,只能降级到Django 1.11.20

所以只能使用django1.11.20版本

 

1. 修改pycharm默认的django版本

使用命令行卸载和安装:

# 卸载
pip uninstall django

# 安装,这里使用了国内的pip源
pip install django==1.11.20 -i https://pypi.tuna.tsinghua.edu.cn/simple

 

2. 安装oracle和mysql数据库插件包

# oracle
pip install cx-oracle -i https://pypi.tuna.tsinghua.edu.cn/simple

# mysql
pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple

这里安装时,可能会报出这个错误:

MySQLdb/_mysql.c(29): fatal error C1083: 无法打开包括文件: “mysql.h”: No such file or directory

这种情况就要下载离线包,再进行安装了:

 

 

我这里下载到了桌面,然后使用pip安装

 

 

3. 下载django-xadmin

 

下载地址为:https://github.com/sshwsfc/xadmin/

我这里使用pip安装不成功,也就只能下载源码,进行安装了:

将压缩包中的所需内容拷贝到项目里:

这时候的项目目录如下图:

使用django-xadmin,还需要安装一些依赖,而这些依赖都在requirements配置好了,我们对其进行安装:

pip install -r requirements.txt

 

4. 为了区分本地app和他人app,我们创建下面两个文件夹:

 

注意:选中上述文件夹后,要Sources Root一下

然后将,xadmin放入到extra_apps中:

5. 在setting.py文件中添加内容,让django能够找到我们的app

# app识别配置
import sys
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))  # 将apps目录设置成python可识别目录
sys.path.insert(1, os.path.join(BASE_DIR, 'extra_apps'))  # 将xadmin所在目录设置成python可识别目录


# app配置
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'xadmin',
    'crispy_forms',
    'reversion',
]

6. 修改字符集编码,让xadmin显示中文:

LANGUAGE_CODE = 'zh-hans'  # 更改(xadmin中文)

TIME_ZONE = 'Asia/Shanghai'  # 更改

USE_I18N = True

USE_L10N = True

USE_TZ = False

7. 修改数据库配置

数据库直接配置在setting文件里不太合适,遂将其提取出来放到config配置文件中,并修改setting.py文件内容

# 读取配置文件
config_init = configparser.ConfigParser()
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
config_init.read(os.path.join(path, 'config/config.ini'), encoding='utf-8-sig')


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': config_init.get("Mysql", "host"),
        'PORT': config_init.get("Mysql", "port"),
        'NAME': config_init.get("Mysql", "name"),
        'USER': config_init.get("Mysql", "user"),
        'PASSWORD': config_init.get("Mysql", "password"),
    },
    'db_oracle': {
        'ENGINE': 'django.db.backends.oracle',
        'HOST': config_init.get("Oracle", "host"),
        'PORT': config_init.get("Oracle", "port"),
        'NAME': config_init.get("Oracle", "name"),
        'USER': config_init.get("Oracle", "user"),
        'PASSWORD': config_init.get("Oracle", "password"),
    },

}

 

如图:

 

8. 尝试启动django项目:

程序报错,报出缺少formtools、request依赖

安装上述依赖:

pip install django-formtools==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple


pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,再次启动django项目,错误改变,但是变成了path无法识别的错误

这是因为django降级导致的,修改urls.py文件,并添加xadmin路径配置

from django.conf.urls import include, url
from django.conf.urls import url

import xadmin
xadmin.autodiscover()

# version模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()

from django.contrib import admin

xadmin.autodiscover()
urlpatterns = [
    # path('admin/', admin.site.urls),
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^xadmin/', include(xadmin.site.urls))
]

9. 同步数据表到数据库,我这里的default使用的mysql数据库

setting文件里的数据库配置中,default使用那个库,相关admin、xadmin、auth等就会创建在哪个数据库中

数据库表创建(更新)命令:python manage.py makemigrations

数据库表应用命令:python manage.py migrate

10 .创建超级用户,访问站点

 

使用下面的语句创建超级用户,并访问站点:

python manage.py createsuperuser

打开浏览器,访问127.0.0.1:8000

至此,django+xadmin+mysql的相关配置已经完成

后面将添加oracle数据库、rules、django日志等

 

上述django程序的环境依赖如下图:

#requirements.txt

backports.csv==1.0.7
certifi==2019.6.16
chardet==3.0.4
cx-Oracle==7.2.2
defusedxml==0.6.0
diff-match-patch==20181111
Django==1.11.20
django-crispy-forms==1.7.2
django-formtools==2.1
django-import-export==1.2.0
django-reversion==3.0.4
et-xmlfile==1.0.1
future==0.15.2
futures==3.1.1
httplib2==0.9.2
idna==2.8
jdcal==1.4.1
mysqlclient==1.4.4
odfpy==1.4.0
openpyxl==2.6.3
pytz==2019.2
PyYAML==5.1.2
requests==2.22.0
six==1.10.0
sqlparse==0.3.0
tablib==0.13.0
urllib3==1.25.3
xlrd==1.2.0
xlwt==1.3.0

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值