之前提過 Django 的專案建立,此篇介紹如何將 Django 連結現有的 MySQL
$ pip install pymysql
在Django專案中找到settings.py
在 settings.py 中 import pymysql 套件 (on the top)
import pymysql
pymysql.install_as_MySQLdb()
使用 install_as_MySQLdb 確保 pymysql 連結數據庫時不會報錯
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your DB name',
'USER': 'your user name',
'PASSWORD': 'your password',
'HOST': '',
'PORT': '3306',
}
}
再來可以開始同步資料庫,以下的狀況是在已有 mysql table 情況下同步
$ python manage.py inspectdb > Web_App/models.py
做完之後可以看到 models.py 內已經有資料表的內容
$ python manage.py migrate
在 views.py 中取用 mysql 的資料
from django.shortcuts import render
from Web_App.models import Video
import json
# Create your views here.
def index( request ):
video_list = list(Video.objects.all().values())
return render( request, "index.html", locals())
在 index.html 中顯示 Video 表中的 name
<div class = "container">
<div class="input-group mb-3">
<div class="input-group-prepend">
<label class="input-group-text" for="inputGroupSelect01">影片選取</label>
</div>
<select class="custom-select" id="inputGroupSelect01">
<option selected>選擇...</option>
{% for video in video_list %}
<option selected>{{ video.name }}</option>
{% endfor %}
</select>
</div>
</div>