django連接mysql數(shù)據(jù)庫(kù)及建表操作實(shí)例詳解
本文實(shí)例講述了django連接mysql數(shù)據(jù)庫(kù)及建表操作。分享給大家供大家參考,具體如下:
django連接mysql數(shù)據(jù)庫(kù)需要在project同名的目錄下面的__init__.py里面加入下面的東西
import pymysql pymysql.install_as_MySQLdb()
找到settIngs里面的database設(shè)置如下
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 's22', #連接的庫(kù)名,這個(gè)要事先存在
'HOST':"127.0.0.1",
'PORT':3306,
'USER':"root",
'PASSWORD':"123", #這里要用引號(hào)
}
}
下面是靜態(tài)文件路徑的修改
#靜態(tài)文件位置比如用來存放 bootstrap樣式,jquery-3.3.1.min.js STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static"), os.path.join(BASE_DIR,"static99"), ]
然后創(chuàng)建一個(gè)應(yīng)用app01,在pycharm的terminal下面
我的project是test1
G:\study\day18\test1> python manage.py startapp app01
告訴django有哪些app,settIngs.py里面設(shè)置,加入到最后一行,注意:如果是在創(chuàng)建project的同時(shí)寫了Application name,它會(huì)自動(dòng)加入到這里面
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config', #你在命令行創(chuàng)建app時(shí)要注意添加 ]
在app01下的models.py中寫類
它操作的對(duì)應(yīng)關(guān)系是:
ORM 對(duì)象關(guān)系映射
類 表
對(duì)象 記錄
屬性 字段
在app01的modles.py里面寫入,創(chuàng)建類
from django.db import models # Create your models here. class Book(models.Model): # 定義一個(gè)自增的id主鍵 id = models.AutoField(primary_key=True) # 定義一個(gè)最大長(zhǎng)度為32的varchar字段 title = models.CharField(max_length=32)
在terminal上面執(zhí)行下面兩條命令
python manage.py makemigrations #檢測(cè)app/models.py文件的改動(dòng) python manage.py migrate #把上面的改動(dòng)翻譯成sql語(yǔ)句,然后去數(shù)據(jù)庫(kù)中執(zhí)行
好了,我們登陸mysql查看結(jié)果
mysql> show tables; +----------------------------+ | Tables_in_s22 | +----------------------------+ | app01_book | | auth_group | | auth_group_permissions | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | django_admin_log | | django_content_type | | django_migrations | | django_session | +----------------------------+ 11 rows in set (0.00 sec)
如果要?jiǎng)h除app01_book表,modles.py里面的相關(guān)聯(lián)東西就可以了,之后執(zhí)行
models.py #class Book(models.Model): # # 定義一個(gè)自增的id主鍵 # id = models.AutoField(primary_key=True) # # 定義一個(gè)最大長(zhǎng)度為32的varchar字段 # title = models.CharField(max_length=32)
接著執(zhí)行
python manage.py makemigrations python manage.py migrate
在 app01的migrations下面放的是改動(dòng)的記錄,不能登陸到數(shù)據(jù)庫(kù)上面直接操作,否則這些記錄會(huì)變亂

如果想在pycharm里面直觀的操作如下圖

1 點(diǎn)擊側(cè)欄的 database
2 點(diǎn)擊+ 選擇mysql
3 點(diǎn)擊download下載相關(guān)的驅(qū)動(dòng)
4 庫(kù) 5 用戶名 6 密碼 ---》點(diǎn)擊test connection測(cè)試數(shù)據(jù)庫(kù)的連通性
具體操作如下

說明:
1 點(diǎn)擊要操作的表
2 點(diǎn)擊+ 表示要加入記錄,- 表示刪除
3 點(diǎn)擊 ⬆同步道數(shù)據(jù)庫(kù)
4 刷新,查看新的記錄
總結(jié):diango操作mysql數(shù)據(jù)庫(kù)的準(zhǔn)備工作
1 用sql語(yǔ)句建個(gè)數(shù)據(jù)庫(kù),也就是命令登陸MySQL 使用create s22
2 告訴django去哪里連接數(shù)據(jù)庫(kù) 在settIngs.py中設(shè)置
3 告訴django使用pymysql連接MySQL數(shù)據(jù)庫(kù) project/__init__.py
4 在app/models.py文件中,根據(jù)語(yǔ)法,創(chuàng)建類
5執(zhí)行兩個(gè)命令:makemigrations migrate
希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python?命令行?prompt_toolkit?庫(kù)詳解
prompt_toolkit 是一個(gè)用于構(gòu)建強(qiáng)大交互式命令行的 Python 工具庫(kù)。接下來通過本文給大家介紹Python?命令行?prompt_toolkit?庫(kù)的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-01-01
基于Python實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物檢測(cè)功能
基于dlib庫(kù)的模型,實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物的檢測(cè)。最后呈現(xiàn)的效果為焦點(diǎn)人物的識(shí)別框顏色與其他人物框不一樣。對(duì)Python人臉識(shí)別和焦點(diǎn)人物檢測(cè)設(shè)計(jì)過程感興趣的朋友一起看看吧2021-10-10
Python中Numpy與TensorFlow版本兼容問題完美解決辦法
這篇文章主要給大家介紹了關(guān)于Python中Numpy與TensorFlow版本兼容問題的完美解決辦法,確保Python版本與TensorFlow版本兼容是首要任務(wù),因?yàn)椴患嫒莸慕M合可能導(dǎo)致導(dǎo)入錯(cuò)誤或其他運(yùn)行時(shí)問題,需要的朋友可以參考下2024-07-07
Python制作旋轉(zhuǎn)花燈祝大家元宵節(jié)快樂(實(shí)例代碼)
一年一度的元宵節(jié)來臨,小編在這里祝大家2022元宵節(jié)快樂,今天小編給大家分享一篇教程關(guān)于Python制作旋轉(zhuǎn)花燈祝大家元宵節(jié)快樂,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-02-02
python實(shí)現(xiàn)的系統(tǒng)實(shí)用log類實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)的系統(tǒng)實(shí)用log類,實(shí)例分析了Python基于logging模塊實(shí)現(xiàn)日志類的相關(guān)技巧,需要的朋友可以參考下2015-06-06
Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能
這篇文章主要介紹了Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

