# mx_online **Repository Path**: change1220/mx_online ## Basic Information - **Project Name**: mx_online - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 问题记录: ## 问题1: 1.连接mysql数据库时,要先安装python对应版本的[Mysqlclient](https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient) 2.下载到本地后,执行`pip install Mysqlclient文件路径` 3.再连接数据库,创建数据库 mysql -u root -p CREATE DATABASE 数据库名; 4.再执行数据库迁移命令 ## 问题2 1. 执行`python manage.py makemigrations`生成迁移文件的时候,报错`django.db.utils.OperationalError: (2059, )` ![avatar](https://img-blog.csdnimg.cn/20190822173254795.png) 问题所在:主要就是mysql8.0的问题。 目前最新的mysql8.0对用户密码的加密方式为caching_sha2_password, django暂时还不支持这种新增的加密方式。只需要将用户加密方式改为老的加密方式即可。 解决方案: 1.登录mysql,连接用户为root。 > mysql -u root -p 2.执行命令查看加密方式 > use mysql; > select user,plugin from user where user='root'; 3.执行命令修改加密方式 > alter user 'root'@'localhost' identified with mysql_native_password by 'yourpassword' 4.属性权限使配置生效 > flush privileges # 问题3 Django遇到问题`-MySQL Strict Mode is not set for database connection 'default'`,详情如下: ![](https://img-blog.csdnimg.cn/20190724094846707.jpg) 解决方案:添加 OPTIONS 选项,具体内容如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysite', 'HOST': '127.0.0.1', 'USER': 'root', 'PASSWORD': '123456', 'PORT': '3306', 'OPTIONS': { 'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"', 'charset': 'utf8mb4' } } } # 创建虚拟环境 1.到相应目录,执行virtualenv 名称 2.再打开pycharm新建项目,选择第一步创建好的虚拟环境 设置pip安装镜像 `pip config set global.index-url https://pypi.doubanio.com/simple` # 问题4 继承`AbstractUser`模型时,用authenticate()方法校验登录时,会返回一个None值,原因是因为建用户时, 数据库保存为明文密码,会验证不成功。 解决办法: 1.导入`from django.contrib.auth.admin import UserAdmin` 2. `admin.site.register(UserProfile, UserAdmin)` # 问题5 1.[redis下载地址](https://github.com/tporadowski/redis/releases) 2.打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行: redis-server.exe redis.windows.conf 3. 安装`pip install redis` [https://fly.layui.com/store/](网站模板) # 后台增加导入导出功能 1. 使用PIP安装 pip install django-import-export 2. 更新settings.py: INSTALLED_APPS = ( ... 'import_export', ) 还有一个可选的配置,我通常这样添加: IMPORT_EXPORT_USE_TRANSACTIONS = True 默认值为False。它确定库是否会在数据导入中使用数据库事务,以确保安全。 3. Django后台管理 在admin.py里使用`ImportExportModelAdmin`,而不是`ModelAdmin` from import_export.admin import ImportExportModelAdmin from django.contrib import admin from .models import Person @admin.register(Person) class PersonAdmin(ImportExportModelAdmin): pass