zoukankan      html  css  js  c++  java
  • Django配置Mysql数据库 (Pycharm)

    Django配置MySQL数据库方法

    一、settings.py文件中修改数据库配置为下面的内容:

    # Database
    # https://docs.djangoproject.com/en/2.0/ref/settings/#databases
    
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': '127.0.0.1',
    'PORT': '3306',
    'NAME': 'mysql',
    'USER': 'root',
    'PASSWORD': 'mysql@123.com',
    'OPTIONS': {
    'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
    },
    }
    }

    驱动(ENGINE)、主机地址(HOST)、端口号(PORT)、数据库(NAME)、用户名(NAME)以及登录密码(PASSWORD);

    二、在__init_.py文件添加如下配置:

    # coding=utf-8
    
    import pymysql
    pymysql.install_as_MySQLdb()

    因为Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql。

    三、执行数据迁移

    在项目manage.py路劲下执行如下命令即可

    python manage.py makemigrations
    python manage.py migrate

    关于sql_mode的设置,可参考Django文档:https://docs.djangoproject.com/en/2.0/ref/databases/#setting-sql-mode
    原文链接:https://blog.csdn.net/qq_35304570/article/details/79674449

    在数据迁移的时候遇到的两个问题

    python manage.py makemigrations

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

    解决方法:

    直接点上面的文件目录:/Users/aipad/Python/FirstDjango/venv/lib/python3.7/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__)

    问题2:AttributeError: 'str' object has no attribute 'decode'

    解决方法:

    直接点击进入上面的目录文件: /Users/aipad/Python/FirstDjango/venv/lib/python3.7/site-packages/django/db/backends/mysql/operations.py

    在图中decode前面加上 encode('utf-8')

    问题原因:

    python3里面,字符串要先encode手动指定其为某一编码的字节码之后,才能decode解码。

  • 相关阅读:
    linux常用命令(持续更新)
    nginx和redis
    网络编程BIO、NIO、AIO
    同步和异步、阻塞和非阻塞
    执行一条sql语句过程
    InnoDB 的B+树索引原理
    InnoDB 为啥要选择B+树来存储数据
    MySQL数据库引擎简介
    java并发编程(同步、同步容器、线程池)
    putty登录linux遭refuse
  • 原文地址:https://www.cnblogs.com/DBArtist/p/makemigrations.html
Copyright © 2011-2022 走看看