[Django 系列 3]
Models.py
Models.py 是用來做DB的欄位用的
關於 Models.py 的 DB 建立的欄位資料: https://docs.djangoproject.com/en/2.1/ref/models/fields/
然後在 cmd 執行以下指令,做出 db 所需要的 migrations 檔,這些檔案是用來管理 DB 的版本控制
- python manage.py makemigrations
再來就是真正更改 DB tables 與 fields
- python manage.py migrate
執行完後,用 sqlitespy.exe 可以開啟 db.sqlite3 檔
Django ORM
Django ORM 是一個方便的工具,我們可以不用下任何的 sql 語言就能對 db 做操作
- Django ORM: https://docs.djangoproject.com/en/2.1/topics/db/queries/
- ORM queryset: https://docs.djangoproject.com/en/2.1/ref/models/querysets/
以下以留言功能實作來舉例
runserver 後,試試看表單 POST 看看
可能出現問題(403 Forbidden),因為 Django 的安全機制的關係,不允許隨便 POST 資料進來,如果要讓 Django 能夠接受我們 POST 的資料,需要在 form 上面加上 {% csrf_token %}
加完後繼續 POST 看看
Template 語法
目前我們寫的 html 檔都叫做 template,是組成網頁的前身,我們會在 template 當中寫類似程式碼的東西,用來 render 我們想要的結果