學會了將資料庫中的值傳到前端,那如何將前端input輸入資料庫呢?
建立新增新條目的表單:
在這兩個輸入欄位中,autocomplete 屬性設為 off 來關閉自動完成(按下輸入框不顯示歷史輸入記錄);另外還新增了 required 標誌屬性,如果使用者沒有輸入內容就按下了提交按鈕,瀏覽器會顯示錯誤提示} titles<
/p>
預設情況下,當表單中的提交按鈕被按下,瀏覽器會建立乙個新的請求,預設發往當前 url(在 元素使用 action 屬性可以自定義目標 url)。
因為我們在模板裡為表單定義了 post 方法,當輸入資料,按下提交按鈕,乙個攜帶輸入資訊的 post 請求會發往根位址。接著,會看到乙個 405 method not allowed 錯誤提示。這是因為處理根位址請求的 index 檢視預設只接受 get 請求。
處理post請求,修改檢視函式:
'/', methods=
['get'
,'post'])
建立電影條目寫入資料庫:
from flask import request, url_for, redirect, flash
# ...
'/', methods=
['get'
,'post'])
defindex()
:if request.method ==
'post'
:# 判斷是否是 post 請求
# 獲取表單資料
title = request.form.get(
'title'
)# 傳入表單對應輸入欄位的 name 值
year = request.form.get(
'year'
)# 驗證資料
ifnot title or
not year or
len(year)
>4or
len(title)
>60:
flash(
'invalid input.'
)# 顯示錯誤提示
return redirect(url_for(
'index'))
# 重定向回主頁
# 儲存表單資料到資料庫
movie = movie(title=title, year=year)
# 建立記錄
db.session.add(movie)
# 新增到資料庫會話
db.session.commit(
)# 提交資料庫會話
flash(
'item created.'
)# 顯示成功建立的提示
return redirect(url_for(
'index'))
# 重定向回主頁
之後在name和year中輸入對應內容提交後,就可以看到資料庫**現剛才輸入的記錄啦
創新實訓 003
之前後端本來想用spring boot的,但是之前並未與redis一起使用過,所以後端換到flask,發現flask上手比較簡單。flask安裝 pycharm下新建工程後,可介面裡安裝flask或pip install flask 如果報werkzeug的錯,那麼重新下一下它 乙個最小的應用 he...
創新實訓6 20
整理之前寫好的 結構,正式開始我們的專案 flaskenv test watchlist.py watchlist 程式包 其他自己的js檔案 templates base.html edit.html errors 400.html 404.html 500.html index.html log...
創新實訓 012
經過一段時間的 編寫,系統在本地已經可以執行,為了讓其他組員以及演示時可用,現在需要部署。在第一篇部落格中驗證過使用docker部署vue.js前端程式是沒有問題的,下面我開始進行打包部署。docker打包部署嘗試前提條件 centos中裝好了docker,並且pull了乙個nginx映象,關於安裝...