我用sqlite3数据库构建了flask应用程序。我想在其中创建404错误页面。例如,当用户想要转到无效的contest_id
时,应将其重定向到错误页面。但是,对于URL /<contest_id>
,我只发送问题列表作为参数。因此,当前,只要用户尝试访问无效的contest_id
,它就会转到显示空表的网址。
Flask应用程序:
@app.route('/<contest_id>')
def contest_route(contest_id):
conn = sql.connect("sqlite.db")
conn.row_factory = sql.Row
cur = conn.cursor()
cur.execute("SELECT contest_name FROM contests WHERE contest_id='"+str(contest_id)+"'")
rows = cur.fetchall()
try:
contest_name = rows[0][0]
except:
return render_template('problem_index.html')
cur.execute("SELECT problem_id, problem_name FROM problems WHERE contest_id='"+str(contest_id)+"'")
rows = cur.fetchall()
return render_template('problem_index.html', contest_name=contest_name, contest_id=contest_id, problems=rows)
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html')