Windows下Django(Python3)使用Mysqlclient配置并連接Mysql

版本說明

之前一直都是用的內(nèi)置的djangodb,數(shù)據(jù)保存在本地的一個slite文件里,但是項目開發(fā)要使用mysql這樣的大型數(shù)據(jù)庫了。查了一下網(wǎng)上的教程,大多直接import Mysqldb,但是我用的是python3(django2.0以上版本已經(jīng)不支持py2了),找了一下還是有解決辦法的。
版本: python 3.6.1, django 2.0.7

下載MysqlClient擴展包

可以訪問LFD的開源網(wǎng)站,很多windows下的python擴展包都可以找到,建議mark一下。找到mysqlclient?1.3.13?cp36?cp36m?win_amd64.whl,點擊下載。
執(zhí)行cmd命令:

pip install mysqlclient?1.3.13?cp36?cp36m?win_amd64.whl

即安裝好了Mysqlclient。

創(chuàng)建一個django項目

django的環(huán)境搭建這里就不多說了,python下執(zhí)行以下命令創(chuàng)建一個django項目:

django-admin.py startproject mysqlTest

創(chuàng)建django應(yīng)用:

django-admin.py startapp blog

并將該應(yīng)用配置到項目中,修改settings.py:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

修改原有數(shù)據(jù)庫連接設(shè)置以連接到目標數(shù)據(jù)庫:

# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'schooldb',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'',
        'PORT':'',
    }
}

這里的schooldb是我在MySQL本地的一個數(shù)據(jù)庫,HOST和PORT不填的話默認是localhost和3306。

創(chuàng)建數(shù)據(jù)模型

這里就舉個簡單的例子,在models.py中:

from django.db import models

# Create your models here.
class User(models.Model):
    UserName=models.CharField(max_length=200)
    Address=models.CharField(max_length=200)

生成遷移文件,執(zhí)行遷移

執(zhí)行以下命令以同步數(shù)據(jù)庫更改:

python manage.py makemigrations
python manage.py migrate

Mysql查看數(shù)據(jù)表

這時SHOW TABLES; 后可以看到一個blog_user的表,

DESC blog_user;

表結(jié)構(gòu):

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| UserName | varchar(200) | NO   |     | NULL    |                |
| Address  | varchar(200) | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

這里我沒指定PK,也自動生成了一個自增長的id。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容