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

表就建好了

好文要頂;)關注我;)收藏該文;); "分享至新浪微博"); "分享至微信")

相關文章
相關標籤/搜索