iT邦幫忙

2023 iThome 鐵人賽

0
DevOps

跟著菜鳥手把手用Docker建立服務系列 第 13

Day13 - 一起實現菜鳥的成果Django

  • 分享至 

  • xImage
  •  

前面我們已經設計好 MySql 跟 Redis 的 Docker Image,也啟動了個別的 Container,現在我們就用網頁來呈現,這邊我是用 Django Framework,當然你也可以用其他的 Framework 都是可行的

這邊就不會特別講Django Framework 只會講如何啟動跟設定參數得部分,因為重點還是放在Docker


附上Project可以到Git去Clone下來 => IT_Project

persons tabel

CREATE TABLE `persons` (
  `Personsid` int NOT NULL AUTO_INCREMENT,
  `LastName` varchar(255) NOT NULL,
  `FristName` varchar(225) NOT NULL,
  `Age` int DEFAULT NULL,
  PRIMARY KEY (`Personsid`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

  1. 安裝 IT_Project 所需的套件
  • 執行指令pip install -r requirements.txt(在IT_Project底下執行)
  1. 設定setting.py
  • DATABASE
DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE' : 'django.db.backends.mysql',
        'NAME' : 'ItDB',
        'USER' : 'root',
        'PASSWORD' : '******', => Your Password
        'HOST' :'127.0.0.1',
        'PORT': '3306'
    }
}
  • CACHES(Redis)
CACHES = {
    "default": {
        # 預設使用redis://<redis_host>:<redis_port>/<db_number>
        "BACKEND": "django_redis.cache.RedisCache",
        # 指定redis://IP/第幾個DB
        "LOCATION" : "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "PASSWORD": "*******", => Your Password
        },
        'KEY_PREFIX': 'Cache'
    }
}
  1. 啟動 IT_Project 指令
  • Docker manage.py migrate => 數據庫遷移(當有更新Database就要執行此指令)(在IT_Project底下執行)
    https://ithelp.ithome.com.tw/upload/images/20231223/20158512Uwm5wI5ko9.png
  • Docker manage.py runserver => 啟動IT_Project(在IT_Project底下執行)
    https://ithelp.ithome.com.tw/upload/images/20231223/20158512xJP19n1c4N.png

講解設計IT_Project的邏輯概念

  1. API http://locahost:8000/member/create => 會寫入一筆資料到ItDB.persons,寫入成功會顯示OK
    https://ithelp.ithome.com.tw/upload/images/20231223/20158512dQ3himMYSw.png
  2. API http://locahost:8000/member/read => 讀取ItDB.persons資料
    https://ithelp.ithome.com.tw/upload/images/20231223/20158512F4SL4XeJJb.png
    • 當 Redis 沒有 Cache ItDB.persons資料時並會去讀取ItDB.persons,並且會印出 No Cache Data
      https://ithelp.ithome.com.tw/upload/images/20231223/20158512GwgEpeG4U9.png
    • 當 Redis 有 Cache ItDB.persons 資料時會去讀取ItDB.persons,並且會印出 Cache Data
      https://ithelp.ithome.com.tw/upload/images/20231223/2015851282NCDgSMec.png
    • Redis Cache 我們程式設定1分鐘清除

因為重點是放在Docker,所以網頁設計的非常陽春,目的只是呈現我們Docker的結果


上一篇
Day12 - 菜鳥們學以致用DockerFile Redis篇
下一篇
Day14 - 菜鳥們一起學習網路 Network 人生第一堂課
系列文
跟著菜鳥手把手用Docker建立服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言