zoukankan      html  css  js  c++  java
  • Django2.* + Mysql5.7开发环境整合

    环境:

    MAC_OS 10.12

    python 3.6

    mysql 5.7.25

    django 2.2.3

    前提:python django mysql都已经安装成功可单独运行

    一.settings中数据库配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            "USER": "user name",
            "PASSWORD": "your password",
            "NAME": "db name"
        }
    }
    

    二.更换默认数据库驱动

    1.安装pymysql

    pip3 install pymysql
    

    2.更换驱动

    找到项目主包例如项目叫做 TEST 找到TEST包下的__init__.py文件

    image-20190905151856507

    添加如下代码:

    import pymysql
    pymysql.install_as_MySQLdb()
    

    三.问题解决:

    问题1,mysqlclient版本问题
    """
    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
    """
    

    解决方案:按照图中路径找到对应的35和36行,注释掉;

    image-20190905152259463

    问题2:字符串编解码问题
    """
    AttributeError: 'str' object has no attribute 'decode'
    """
    

    解决方案:点击异常追踪信息,找到operations.py中的146行将decode修改为encode即可:

    image-20190905152543877

    测试运行:

    image-20190905153005758

    PS:之所以修改源码猜测是,django2 与 python3 和 pymysql之间的兼容性问题, 另外之所以选择2.* 是因为官方支撑时间的关系,

    django默认的数据库驱动是mysqlclient,但是在测试中发现,完全跑不起来,mysql各种链接库导入失败! .......

  • 相关阅读:
    2 3 5 7的倍数
    三角形面积
    数塔取数问题
    拼成最小的数
    JMeter使用总结
    jmeter+ant生成报告(ubuntu环境)
    LINUX常用命令,不定时更新
    oracle语句使用总结
    "the import org.junit can not be resolved"解决办法
    [SWPUCTF 2018]SimplePHP
  • 原文地址:https://www.cnblogs.com/yangyuanhu/p/11526256.html
Copyright © 2011-2022 走看看