創新實訓6 18

2021-10-07 08:31:31 字數 1718 閱讀 8588

學會了將資料庫中的值傳到前端,那如何將前端input輸入資料庫呢?

建立新增新條目的表單:

} titles<

/p>

在這兩個輸入欄位中,autocomplete 屬性設為 off 來關閉自動完成(按下輸入框不顯示歷史輸入記錄);另外還新增了 required 標誌屬性,如果使用者沒有輸入內容就按下了提交按鈕,瀏覽器會顯示錯誤提示

預設情況下,當表單中的提交按鈕被按下,瀏覽器會建立乙個新的請求,預設發往當前 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映象,關於安裝...