我創建了一個帶有文本字段和按鈕的簡單網頁。當我點擊按鈕時,我希望我的應用程序使用文本字段的內容更新數據庫中的記錄。似乎很簡單,但我無法弄清楚我錯過了什麼。這裏是我的代碼迄今:使用Flask將表單數據發送到數據庫
app.py樣品
@app.route('/update-audit/', methods=['POST'])
def update_audit(test_name, description):
cur = connect_db()
cur.execute('UPDATE audit SET description = ? WHERE test_name = ?', (description, test_name,))
return render_template('clicked.html')
audit.html樣品
<form action="{{ url_for('update_audit') }}" method="post">
<td>{{ row[2] }}</td>
<td>
<input type="text" id="desc" value="{{ row[3] }}" size="140">
<input type="hidden" name="update_audit" value="{{ row[2] }}, desc"/>
<input type="submit" class="btn btn-success" value="Update"/>
</td>
</form>
clicked.html
<!DOCTYPE html>
{% extends "layout.html" %}
{% block content %}
<body>
{{ form.description }}<br />
</body>
{% endblock %}
表樣品
id | tool name | test name | description
========================================
1 | "tool1" | "test1" | "update me!"
不知道如果我失去了一個重要的概念(我flask_wtf發揮各地,並沒有得到任何地方),或者如果我是一個或兩個步驟就可以實現這一點了。
感謝您的回答,雖然我得到這個回溯:AttributeError:'請求'對象沒有屬性'POST' – Drew
此外,我需要得到測試名稱傳遞到update_audit,以便數據庫知道哪一行我想更新。這應該發生在audit.html中,並且行[2]包含測試名稱。 – Drew
它應該是'request.form'而不是'request.POST' –