美文网首页
Django连接数据库MySQL

Django连接数据库MySQL

作者: _str_ | 来源:发表于2019-08-12 20:01 被阅读0次

    Django连接MySQL数据库

    所需环境 python3.4以上 +Diango 2.0 +MySQL5.7

    Django项目默认使用mysqldb模块进行和mysql数据库之间的交互操作,但是mysqldb模块对于python3.4以上的版本支持还不够完善,所以我们要使用替代方案
    通过pymysql模块完成和数据库之间的交互过程
    Django连接mysql数据库的操作,是通过 根模块 的配置实现的,在项目根模块的配置文件settings.py中,我们可以查询到如下默认配置:


    database.png

    DATABASES配置:用于进行数据库连接信息的配置

    ENGINE:用于特定的数据库引擎的配置,一般选项如下
     django.db.backends.sqlite3
     django.db.backends.postgresql
     django.db.backends.mysql
     django.db.backends.oracle
    

    NAME:要连接的数据库名称的配置
    USER:配置连接数据库的用户账号
    PASSWORD:配置连接数据库的登录密码
    HOST:配置数据库所在的主机IP地址
    PORT:配置连接数据库的端口号

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'qamaster',
            'USER': 'root',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
     'mysql2': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'mysql2',
            'USER': 'root',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }
    

    类型对应关系

    image.png

    特殊选项指定


    image.png

    多表操作


    image.png

    示例 简单创建用户类型和文件类型

    image.png

    数据库同步操作

    创建好我们需要的模型类之后,需要将创建好的类型添加到数据库中并同时建立关联关系

    根据模型类自动生成对应数据库引擎的sql语句
    在settings.py中,连接数据库信息中配置了数据库引擎,其实就是已经告诉Django我们使用的是哪个数据库了,Django会根据指定的数据库自动生成sql语句

    在这之前需要在MySQL中建立一个空数据库 库名和setting设置连接数据库的时候库名一样 不让识别不到无法映射进去数据

    需要用到两条命令

    迁移命令

    python manage.py makemigrations     
    

    建立的空库 没有一张表

    image.png

    迁移成功

    image.png

    映射命令

    manage.py migrate
    

    映射成功

    image.png

    数据库中已经有表

    image.png

    项目中有了一个0001_initial.py

    image.png

    运行项目

    manage.py runserver
    
    image.png

    django拥有自己的后台管理平台

    但是需要创建一个超级用户才能进入


    image.png

    创建超级用户的命令

    python manage.py createsuperuser
    

    登录进入


    image.png

    可以看到用户输入的所有信息

    image.png

    相关文章

      网友评论

          本文标题:Django连接数据库MySQL

          本文链接:https://www.haomeiwen.com/subject/xhfpjctx.html