我是Flask的新手。我想单击inputs.html文件中的按钮来执行两项任务,即将表单数据提交到数据库(现在正常运行)并运行另一个函数,该函数根据刚刚提交到数据库的输入进行一些计算。
inputs.html文件包含以下代码
<form action = "{{ url_for('addrec') }}" method = "POST">
<h3>Inputs</h3>
Number of Students<br>
<input type = "text" name = "stu" /></br>
Number of Tasks<br>
<input type = "text" name = "tasks" /><br>
<input type = "submit" value = "Submit" onsubmit="{{ url_for('my_link')}}"/>
<br>
</form>
在app.py中,我有以下代码来处理表单数据
@app.route('/addrec',methods = ['POST', 'GET'])
def addrec():
if request.method == 'POST':
try:
students = request.form['stu']
tasks = request.form['tasks']
with sql.connect("database.db") as con:
cur = con.cursor()
cur.execute("INSERT INTO inputs (students,tasks)
VALUES (?,?)",(students,tasks))
con.commit()
msg = "Record successfully added"
except:
con.rollback()
msg = "error in insert operation"
finally:
return render_template("result.html",msg = msg)
@app.route('/my_link')
def my_link():
print 'My Link Works!'
但是,当我单击按钮表单时,正确添加到数据库的详细信息。但我没有看到消息&#34; My Link Works&#34;在调试器中。这是否意味着当我单击按钮时我无法执行这两项任务(将记录插入数据库并运行其他功能)?
有没有办法实现这个目标?
请帮忙。