zoukankan      html  css  js  c++  java
  • Django

    在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装

    具体安装使用方法,可参考 Python3 - MySQL适配器 PyMySQL

    Django 如何链接 MySQL 数据库, 需要在.../项目/settings.py 文件中修改数据库相关配置。

    配置代码如下

    # Database
    # https://docs.djangoproject.com/en/1.11/ref/settings/#databases
    
    # DATABASES = {
    #     'default': {
    #         'ENGINE': 'django.db.backends.sqlite3',
    #         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    #     }
    # }
    
    # MySQL
    DATABASES = {
        'default':{
         'ENGINE':'django.db.backends.mysql',
         'HOST':'127.0.0.1',
         'PORT':'3306',
         'NAME':'guest',  # 数据库名
         'USER':'username',
         'PASSWORD':'password',
         'OPTIONS':{
             'init_command':"SET sql_mode='STRICT_TRANS_TABLES'"
         },
        }
    }
    # mysql5.0以上版本支持三种sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。
    # ANSI模式:宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。
    # TRADITIONAL模式:严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。用于事物时,会进行事物的回滚。
    # STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。
    #

    配置信息从上到下依次是驱动(ENGINE) , 主机地址(HOST) , 端口号(PORT) , 数据库(NAME),
    登录用户名(USER) , 登录密码(PASSWORD) 。
    关于, sql_mode 的设置, 请参考 Django 文档。

    注意:

    Django 在连接 MySQL 数据库时默认使用的是 MySQLdb 驱动, 然而我们没有安装该
    驱动, 因为它并不支持 Python3, 我们现在安装的是 PyMySQL 驱动, 如何让当前的 Django 通过 PyMySQL
    连接 MySQL 数据库呢? 方法很简单。

     安装后,启动应用,报如图错误,

     

     解决办法:在 ⁨anaconda3⁩ ▸ ⁨envs⁩ ▸ ⁨Adil⁩ ▸ ⁨lib⁩ ▸ ⁨python3.7⁩ ▸ ⁨site-packages⁩ ▸ ⁨django⁩ ▸ ⁨db⁩ ▸ ⁨backends⁩ ▸ ⁨mysql⁩ ▸__init__.py 中添加如下代码

    .../__init__.py 中添加:

    import pymysql
    pymysql.install_as_MySQLdb()

    至此,完成配置工作。

     如图不再 报错。

  • 相关阅读:
    游记-HNOI2019
    题解-COCI2015Norma
    题解-Codeforces671D Roads in Yusland
    题解-POI2014 Supercomputer
    笔记-莫队的强制在线
    题解-HAOI2018全套
    题解-UOJ455 雪灾与外卖
    题解-Codeforces917D Stranger Trees
    题解-AtCoder Code-Festival2017 Final-J Tree MST
    Linux 配置svn
  • 原文地址:https://www.cnblogs.com/BlueSkyyj/p/7910957.html
Copyright © 2011-2022 走看看