zoukankan      html  css  js  c++  java
  • Django models python3搭载mysql

    1    django默认支持sqlite,mysql, oracle,postgresql数据库。

         <1> sqlite

                django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3

         <2> mysql

                引擎名称:django.db.backends.mysql

    2    mysql驱动程序

    •    MySQLdb(mysql python)
    •    mysqlclient
    •    MySQL
    •    PyMySQL(纯python的mysql驱动程序)

    3     在django的项目中会默认使用sqlite数据库,在settings里有如下设置:

    如果我们想要更改数据库,需要修改如下:

    DATABASES = {
    
        'default': {
    
            'ENGINE': 'django.db.backends.mysql', 
    
            'NAME': 'books',    #你的数据库名称
    
            'USER': 'root',   #你的数据库用户名
    
            'PASSWORD': '', #你的数据库密码
    
            'HOST': '', #你的数据库主机,留空默认为localhost
    
            'PORT': '3306', #你的数据库端口
    
        }
    
    }
     1 NAME即数据库的名字,在mysql连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建
     2 
     3 USER和PASSWORD分别是数据库的用户名和密码。
     4 
     5 设置完后,再启动我们的Django项目前,我们需要激活我们的mysql。
     6 
     7 然后,启动项目,会报错:no module named MySQLdb
     8 
     9 这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb对于py3有很大问题,所以我们需要的驱动是PyMySQL
    10 
    11 所以,我们只需要找到项目名文件下的__init__,在里面写入:
    12 
    13 import pymysql
    14 pymysql.install_as_MySQLdb()

    然后我们创建表:在models.py里写入

    在cmd 下启动mysql

    创建数据库 和之前 databases 里的 NAME一致 diango_com

    :

    然后在命令行输入:

    继续输入

    :

      然后启动Django

  • 相关阅读:
    Linux基础命令题(ps/ls + grep)
    Operator Overloading in C++
    C++中class和struct的区别
    poj1110double vision搜索
    poj1321棋盘递归搜索
    vim窗口分割/切换
    xclipmore about copy&paste命令行粘贴
    [转载]怎样花两年时间去面试一个人
    最优二叉查找树optimalBSTC++实现
    vim复制粘贴——系统剪贴板
  • 原文地址:https://www.cnblogs.com/laoguiaabb/p/8145296.html
Copyright © 2011-2022 走看看