python django mysql配置

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

     <1> sqlitepython

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

     <2> mysqlsql

            引擎名称:django.db.backends.mysql数据库

2    mysql驱动程序

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

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

           

若是咱们想要更改数据库,须要修改以下:django

           

复制代码; "复制代码")微信

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你的数据库名称session

'USER': 'root',   #你的数据库用户名

    'PASSWORD': '', #你的数据库密码

    'HOST': '', #你的数据库主机,留空默认为localhost

    'PORT': '3306', #你的数据库端口

}oracle

}app

复制代码; "复制代码")post

复制代码; "复制代码")

NAME即数据库的名字,在mysql链接前该数据库必须已经建立,而上面的sqlite数据库下的db.sqlite3则是项目自动建立

USER和PASSWORD分别是数据库的用户名和密码。

设置完后,再启动咱们的Django项目前,咱们须要激活咱们的mysql。

而后,启动项目,会报错:no module named MySQLdb

这是由于django默认你导入的驱动是MySQLdb,但是MySQLdb对于py3有很大问题,因此咱们须要的驱动是PyMySQL

因此,咱们只须要找到项目名文件下的__init__,在里面写入: import pymysql
pymysql.install_as_MySQLdb()

问题解决!

复制代码; "复制代码")

建立数据库

先用MySQL 建立一个数据库

而后在model.py里面写数据表

复制代码; "复制代码")

class Book(models.Model): # id =

name = models.CharField(max\_length=20)
price \= models.FloatField()
pub\_date \= models.DateField() class Author(models.Model):
name \= models.CharField(max\_length=32)

复制代码; "复制代码")

 在terminal运行python manage.py makemigrations

D:\pycharm\python_s3\Django_ORM>python manage.py makemigrations
Migrations for 'app01':
app01\migrations\0002_author.py - Create model Author

 在terminal运行python manage.py migrate

D:\pycharm\python_s3\Django_ORM>python manage.py migrate
Operations to perform:
Apply all migrations: admin, app01, auth, contenttypes, sessions
Running migrations:
Applying app01.0003_book_author... OK

表就建好了

好文要顶;)关注我;)收藏该文;); "分享至新浪微博"); "分享至微信")

相关文章
相关标签/搜索