Python3之Django連接mysql數據庫


一、mysql服務器

系統版本:CentOS6.8

IP :10.0.0.51

版本

1、授權root遠程登錄

grant all on *.* to 'root'@'%' identifide by '123456';

2、創建一個名為"cmdb"的數據庫

create database cmdb;

3、編輯 /etc/my.cnf 添加如下

binlog_format=ROW

4、如果不添加上述語句,Djang創建數據的時候會報如下錯誤,原因是Django的創建的數據庫事務基於行的日志記錄

django.db.utils.InternalError: (1665, 'Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEM

ENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transactio

n isolation level is READ COMMITTED or READ UNCOMMITTED.')

5、重啟mysql服務

/etc/init.d/mysqld restart

 

二、Django 連接mysql數據庫

1、先創建一個Django項目

2、打開pycharm的Terminal終端運行" python manage.py startapp app01 "命令創建一個名為"app01"的app應用

3、在untitled2項目的settings.py的INSTALLED_APPS列表添加app01

4、在untitled2項目的settings.py的DATABASES列表添加連接mysql數據庫的參數

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'cmdb',

'USER': 'root',

'PASSWORD': '123456',

'HOST': '10.0.0.51',

'PORT': '3306',

}

}

 

5、在app01文件夾的models.py中創建一個Article表

from django.db import models

# Create your models here.

class Article(models.Model):

title = models.CharField(max_length=60,default='title')

content = models.TextField(null=True)

 

6、由於Python3按裝Django的Mysqldb不支持連接mysql,所有需要安裝pymysql模塊

python -m pip install pymsql

 

注意:由於我已經安裝好pymysql,所以提示如下

7、在untitled2目錄下的__init__.py添加如下使pymysql代替MySQldb連接mysql數據庫

import pymysql

pymysql.install_as_MySQLdb()

 

8、打開pycharm的Terminal終端運行如下命令

python manage.py makemigrations

 

 

python manage.py migrate

 

9、在mysql服務器上常看是否創建表

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM