django連接mysql數據庫以及建表操作


django連接mysql數據庫需要在project同名的目錄下面的__init__.py里面加入下面的東西

import pymysql

pymysql.install_as_MySQLdb()

找到settIngs里面的database設置如下

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 's22',  #連接的庫名,這個要事先存在
        'HOST':"127.0.0.1",
        'PORT':3306,
        'USER':"root",
        'PASSWORD':"123", #這里要用引號
    }
}

 下面是靜態文件路徑的修改

#靜態文件位置比如用來存放 bootstrap樣式,jquery-3.3.1.min.js
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,"static"),
os.path.join(BASE_DIR,"static99"),
]

 

然后創建一個應用app01,在pycharm的terminal下面

我的project是test1

G:\study\day18\test1> python manage.py startapp app01

 告訴django有哪些app,settIngs.py里面設置,加入到最后一行,注意:如果是在創建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', #你在命令行創建app時要注意添加
]

在app01下的models.py中寫類

它操作的對應關系是:

ORM 對象關系映射
類 表 對象 記錄 屬性 字段

在app01的modles.py里面寫入,創建類

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上面執行下面兩條命令

python  manage.py makemigrations  #檢測app/models.py文件的改動

python manage.py  migrate          #把上面的改動翻譯成sql語句,然后去數據庫中執行

 好了,我們登陸mysql查看結果

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里面的相關聯東西就可以了,之后執行

models.py

#class Book(models.Model):
#     # 定義一個自增的id主鍵
#     id = models.AutoField(primary_key=True)
#     # 定義一個最大長度為32的varchar字段
#     title = models.CharField(max_length=32)

接着執行
python  manage.py makemigrations

python manage.py  migrate

在 app01的migrations下面放的是改動的記錄,不能登陸到數據庫上面直接操作,否則這些記錄會變亂

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

1 點擊側欄的 database
2 點擊+ 選擇mysql
3 點擊download下載相關的驅動
4 庫 5 用戶名 6 密碼 ---》點擊test connection測試數據庫的連通性

 具體操作如下

說明:
1 點擊要操作的表
2 點擊+ 表示要加入記錄,- 表示刪除
3 點擊 ⬆同步道數據庫
4 刷新,查看新的記錄

 總結:diango操作mysql數據庫的准備工作

1 用sql語句建個數據庫,也就是命令登陸MySQL 使用create s22

2 告訴django去哪里連接數據庫   在settIngs.py中設置

3 告訴django使用pymysql連接MySQL數據庫  project/__init__.py

4 在app/models.py文件中,根據語法,創建類

5執行兩個命令:makemigrations   migrate

 


免責聲明!

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



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