django連接mysql數(shù)據(jù)庫及建表操作實例詳解
本文實例講述了django連接mysql數(shù)據(jù)庫及建表操作。分享給大家供大家參考,具體如下:
django連接mysql數(shù)據(jù)庫需要在project同名的目錄下面的__init__.py里面加入下面的東西
import pymysql pymysql.install_as_MySQLdb()
找到settIngs里面的database設(shè)置如下
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 's22', #連接的庫名,這個要事先存在 'HOST':"127.0.0.1", 'PORT':3306, 'USER':"root", 'PASSWORD':"123", #這里要用引號 } }
下面是靜態(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)建一個應(yīng)用app01,在pycharm的terminal下面
我的project是test1
G:\study\day18\test1> python manage.py startapp app01
告訴django有哪些app,settIngs.py里面設(shè)置,加入到最后一行,注意:如果是在創(chuàng)建project的同時寫了Application name,它會自動加入到這里面
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時要注意添加 ]
在app01下的models.py中寫類
它操作的對應(yīng)關(guān)系是:
ORM 對象關(guān)系映射
類 表
對象 記錄
屬性 字段
在app01的modles.py里面寫入,創(chuàng)建類
from django.db import models # Create your models here. class Book(models.Model): # 定義一個自增的id主鍵 id = models.AutoField(primary_key=True) # 定義一個最大長度為32的varchar字段 title = models.CharField(max_length=32)
在terminal上面執(zhí)行下面兩條命令
python manage.py makemigrations #檢測app/models.py文件的改動 python manage.py migrate #把上面的改動翻譯成sql語句,然后去數(shù)據(jù)庫中執(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)
如果要刪除app01_book表,modles.py里面的相關(guān)聯(lián)東西就可以了,之后執(zhí)行
models.py #class Book(models.Model): # # 定義一個自增的id主鍵 # id = models.AutoField(primary_key=True) # # 定義一個最大長度為32的varchar字段 # title = models.CharField(max_length=32)
接著執(zhí)行
python manage.py makemigrations python manage.py migrate
在 app01的migrations下面放的是改動的記錄,不能登陸到數(shù)據(jù)庫上面直接操作,否則這些記錄會變亂
如果想在pycharm里面直觀的操作如下圖
1 點擊側(cè)欄的 database
2 點擊+ 選擇mysql
3 點擊download下載相關(guān)的驅(qū)動
4 庫 5 用戶名 6 密碼 ---》點擊test connection測試數(shù)據(jù)庫的連通性
具體操作如下
說明:
1 點擊要操作的表
2 點擊+ 表示要加入記錄,- 表示刪除
3 點擊 ⬆同步道數(shù)據(jù)庫
4 刷新,查看新的記錄
總結(jié):diango操作mysql數(shù)據(jù)庫的準(zhǔn)備工作
1 用sql語句建個數(shù)據(jù)庫,也就是命令登陸MySQL 使用create s22
2 告訴django去哪里連接數(shù)據(jù)庫 在settIngs.py中設(shè)置
3 告訴django使用pymysql連接MySQL數(shù)據(jù)庫 project/__init__.py
4 在app/models.py文件中,根據(jù)語法,創(chuàng)建類
5執(zhí)行兩個命令:makemigrations migrate
希望本文所述對大家基于Django框架的Python程序設(shè)計有所幫助。
相關(guān)文章
使用python查找替換PowerPoint演示文稿中的文本
演示文稿已成為商務(wù)會議、學(xué)術(shù)報告和教育培訓(xùn)中不可或缺的一部分,而PowerPoint演示文稿作為行業(yè)標(biāo)準(zhǔn)工具,更是承載著無數(shù)創(chuàng)意與信息的載體,本文將介紹如何使用Python來精確查找并替換PowerPoint演示文稿中的文本,需要的朋友可以參考下2024-07-07Python的Django框架中的數(shù)據(jù)庫配置指南
這篇文章主要介紹了Python的Django框架中的數(shù)據(jù)庫配置指南,文中舉了Python內(nèi)置的SQLite的示例,需要的朋友可以參考下2015-07-07封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例
這篇文章主要為大家介紹了封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2023-05-05Python中淺拷貝的四種實現(xiàn)方法小結(jié)
本文主要介紹了Python中淺拷貝的四種實現(xiàn)方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11解決Python下imread,imwrite不支持中文的問題
今天小編就為大家分享一篇解決Python下imread,imwrite不支持中文的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12