我剛開始學習燒瓶,作爲一個實踐項目,我想建立一個簡單的網站,要求用戶輸入他們的名字,並在新頁面上用他們的名字打招呼。我一直無法通過表單獲取用戶的姓名,並且由於「錯誤的請求」錯誤而將其顯示在新頁面上。我的代碼如下。燒瓶形式不工作
這是與它的形式,我的索引頁:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<h1>Practice index page</h1>
<h2>Welcome to my practice web page.</h2>
<form action = "/firstname">
<p>What's your name?</p>
<input type = "text" name = "yourname"><br>
<input type = "submit" value = "Submit">
</form>
</body>
</html>
這是我application.py文件:
from flask import Flask
from flask import render_template, request, redirect
app = Flask(__name__)
@app.route('/')
def hello_world():
return render_template('index.html')
@app.route('/firstname')
def first_name():
yourname = request.form['yourname']
return render_template('firstname.html', name = yourname)
這是我firstname.html文件:
<!DOCTYPE html>
<head>
<title>My name is</title>
</head>
<body>
<h1>Hello</h1>
<h2>Your name is {{name}}.</h2>
</body>
索引頁加載正常。當用戶的名字被硬編碼時,firstname.html模板也可以正常加載,只有當我從問題出現的形式中得到它的時候。
我一直在這裏呆了幾個小時,看着YT的視頻,瘋了谷歌搜索,仍然無法弄清楚什麼是錯的,所以我非常感謝一些幫助!
我認爲這可能是問題,但在方法中包括POST也沒有解決問題。我仍然收到'錯誤請求'錯誤。老實說,在智慧結尾:( –
這很奇怪,你是否也編輯過表單方法?如果在'request.form'中沒有找到'yourname',那麼Flask會引發一個錯誤的請求錯誤 – Bovarysme
哦,我完全忘了更改表單方法,現在一切都好了,謝謝! –