現在網站早已不像以前只是個一頁式的靜態網站,可能會多很多功能,例如:留言、回覆、公布欄等等等等。
而 Django 會把這些使用者互動的部分都儲存於後台資料庫,也就是我們現在要講的 model
區。
也因為 Django 支援了多種資料庫,例如:PostgreSQL、MySQL、SQLite、Oracle,所以在使用上可以無痛轉移在各個資料庫。
回到大概是第三天吧,我們提到建立一個 Django APP
#建立Django專案
$ django-admin startproject mylinebot .
這時候我們建立一個名為 mylinebot
的 object 專案
#建立Django應用程式 程式名稱 django_chatbot
$ python manage.py startapp django_chatbot
$ python manage.py migrate
建立名為 django_chatbot
的 APP。
現在我們的專案(APP)會長這樣
django_chatbot
|-- mylinebot
|-- manage.py
...
|-- django_chatbot
| |-- __init__.py
| |-- admin.py
| |-- models.py
| |-- tests.py
| `-- views.py
找到 django_chatbot > django_chatbot > models.py
更改如下:
from django.db import models
class User_Info(models.Model):
uid = models.CharField(max_length=50, null=False, default='') # user_id
name = models.CharField(max_length=255, blank=True, null=False) # LINE名字
mtext = models.JSONField(max_length=255, blank=True, null=True) # 文字訊息紀錄
mdt = models.DateTimeField(auto_now=True) # 物件儲存的日期時間
這裏我們先暫時新增這樣。
(這是我當時寫 Line Bot 時要確認是否為首次註冊者,所以用一個 uid
來記錄使用者 id)
以上 class
的名稱 User_Info
,繼承了 models.Model
,裡頭包含了數據類型 CharField
(相當於 JS 的 varchar
),還有 max_length
等參數。
python manage.py makemigrations django_chatbot # 讓 django 知道模型有變更
python manage.py migrate # 創建結構