我正在创建一个简单的 Flask 应用程序,它只存储一个文本字段,在一个网页上,用户应该在其上看到一个带有“消息”字段的表单。表单下方应该是数据库中现有消息的列表。当用户在“消息”字段中输入内容并提交表单时,“消息”应保存到 SQLite 中的表中。AND 保存消息后,用户应返回带有表单和消息列表的页面。
我被困在一个点我无法提交消息我的页面确实从数据库中检索消息,这些消息在我创建时已经存储在数据库中。
请有人指导我提交代码以提交表格中填写的消息。
我的连接代码是:
@app.route('/message')
def message():
g.db = connect_db()
cur = g.db.execute('select msg_msg from msg')
message = [dict(msg_msg=row[0]) for row in cur.fetchall()]
g.db.close()
return render_template('message.html', message=message)
@app.route('/message', methods=['GET'])
def button():
if request.GET.get('Save').strip():
new = request.GET.get('input_msg').strip()
g.db = connect_db()
cur = g.db.execute("INSERT INTO msg (msg_msg) VALUES (?)", (new))
new_id = c.lastrowid
g.db.commit()
g.db.close()
return '<p>The new input_msg was inserted into the database, the ID is %s</p>' % new_id
else:
return render_template('message.html')
并且页面的 html 代码是
{% extends "template.html "%}
{% block content %}
<h2>You are in the Message Page</h2>
<br/>
<p><h4>In this page, You can view the Existing Messages and can also Submit your own message.</h4></p>
<br/><br/>
<h3>Enter Your Message:</h3><br/>
<form action="/message" methods='GET'>
<dl>
<dt>Message:
<dd><input type="text" name="input_msg" maxlength=80 style="width:300px">*Maximum Length = 80
</dl>
<input type=submit value="Save">
</form>
<h3>The Existing Messages:</h3>
{% for item in message %}
Msg_ID: <B>"{{ item.msg_id }}"</B><br/>Message: {{ item.msg_msg }} <br/><br/>
{% endfor %}
{% endblock %}