• django如何将sqllite数据库改成mysql


    一,安装MySQL的驱动

     

           1,python2版本的安装MySQLdb,pip安装pip安装MySQLdb

           2,python3版本的安装pySQLdb,pip安装pip install pySQLdb

    二,修改配置

            打开setting.py配置文件

    DATABASES = {
        # 'default': {
        #     'ENGINE': 'django.db.backends.sqlite3',
        #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        # }
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'stackoverflow', #数据库名称
            'USER': 'root',#用户名
            'PASSWORD': 'root', #密码
            'HOST': 'localhost', #地址
            'PORT': '3306', #端口
            'CHARSET': 'utf8',
            'COLLATION': 'utf8_general_ci',
        }
    }

    setting同目录下的_init_.py添加:

        import pymysql
        pymysql.install_as_MySQLdb()

    三,同步数据库

          python manage.py makemigrations制造迁移生成相应的文件,这个文件也就是让数据库生成相应表的代码文件。

         

            python manage.py migrate迁移,即运行上步骤中生成的文件,然后在数据库生成相应的表

            使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建,修改,删除数据表,新增,修改,删除某数据表内的字段等等。

            同步过程中如出现django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为'MySQLdb'的模块,原因是:

                在python2中,使用pip install mysql-python进行安装连接MySQL的库,使用时导入MySQLdb进行使用,在python3中,改变了连接库,改为了pymysql库,使用pip install pymysql进行安装,直接导入导入pymysql使用,本来在上面的基础上把python3的pymysql库安装上去就行了,但是问题依旧,经过查阅得知,Django依旧是使用py2的MySQLdb库的,得到进行适当的转换才行。

                解决办法:

                在__init__.py文件中添加以下代码

                导入pymysql

                pymysql.install_as_MySQLdb()

  • 相关阅读:
    vue-cli工具搭建vue-webpack项目
    关于闭包的理解
    运动-分页
    运动-无缝滚动
    运动-手风琴
    运动-模拟返回顶部
    运动—图片中心放大
    运动—运动框架
    webstorm 激活破解
    let和const
  • 原文地址:https://www.cnblogs.com/qianzf/p/15684291.html
Copyright © 2020-2023  润新知