控制函式 view
Django
把 contorller
命名為 views
,一開始有點難理解,實作之後還是覺得它就是 controller
。
py
from django.shortcuts import render
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World")
接收引數
接收urls
丟過來的引數
py
...
def hello(request,msg,x):
return HttpResponse(f"Hello World + {msg} + {x}")
接收前端丟過來的資料 (Views.py)
input.html
所輸入的資料餵給後端urls
內指定views
的函式。
html
<form method='POST' action="{% url 'add_item' %}">
...
</form>
定義處理資料的方法 ( views.py )
py
from django.http import HttpResponse, HttpResponseRedirect
from django.template import loader
from .models import Mytable
def index(request):
return render(request,'index.html')
# 放到資料表內
def ontable(request):
# 這裡是搭配 html 的 input 標籤 name 設定
x=request.POST['first']
y=request.POST['last']
# 對應資料表的欄位
member=Mytable(name=x, other=y)
# 儲存資料
member.save()
# 導回index.html
return HttpResponseRedirect(reverse('index'))
DANGER
- 如果回饋或寫入是資料庫,記得要引入import。
views.py
宣告處理方式後,還必須掛在urls.py
才能正確執行。- 輸入資料後建議轉址,不建議留在原地,因為當按下重整時,會自動輸入上筆資料,帶來困擾。