Python3.7+Django2.2.4+Xadmin

1.创建数据库

create database db_name default charset utf8 collate utf8_unicode_ci;

2.安装pymysql

项目的__init__.py下:

import pymysql
pymysql.install_as_MySQLdb()

错误一:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

解决方法:

/site-packages/django/db/backends/mysql/base.py里注释:

# if version < (1, 3, 13):
#     raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

错误二:

AttributeError: 'str' object has no attribute 'decode'

解决方法:

query = query.decode(errors='replace')  >>query = query.encode(errors='replace')

3.setting数据库配置与数据迁移

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'cus_xadmin',
        'USER': 'root',
        'PASSWORD': 'Aa123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

 

makemigrations  -->将每个应用下的models先映射成数据库的日志文件(中间文件),并存放在每个应用下的migrations的文件夹.
migrate  -->将每个映射下的migraltions文件夹中的日志文件同步到数据库中.

后面集成xadmin后,执行上述命令可能报错。解决方法:删掉所有的表,重新执行上述命令即可。

4.集成xadmin(这里是源码)

把extra_apps加入python的搜索路径的list里面(后面的apps也是同理):

sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

集成xadmin所需要安装的包 :

INSTALLED_APPS = [
...    
    'xadmin',
    'crispy_forms',
    'reversion',
... 
]

xadmin的依赖,根据xadmin源码里的requirements.txt安装即可。

# 设置AUTH_USER_MODEL,是为了让django使用自定义的model,而不是自带的model。
AUTH_USER_MODEL = "user_profile.UserProfile"

 再次执行makemigrations/migrate时,可能报错,直接删除除__init__.py外的文件后再执行即可。

5.创建超级用户

createsuperuser

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值