12.4.5 日记列表
首先在sql.py文件增加读取所有日记的函数:
def find_diaries(): conn = get_conn() cursor = conn.cursor() sql1 = "select * from diary" #cursor.execute(sql1,(username)) cursor.execute((sql1)) result = cursor.fetchall() #print(result) conn.close()#关闭连接 return result
然后是编写HTML模板文件diaries.html:
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title> 日记列表 </title> </head> <body> {%for t in diaries%} <div style="border-bottom: 1px solid #ccc;width:300px"> <h3>{{t[1]}}</h3> <div> {{t[2]}} </div> <div> {{t[3]}} </div> </div> {%end for%} </body></html>
这个页面需要diaries参数,是日记列表
最后是绑定html和url模式,在app.py文件里增加这一个绑定:
@app .route('/diaries')def diaries(): d = sql.find_diaries() d = list(d) #d=tuple(d) return render_template("diaries.html", diaries=d)
d=list(d)是把取出来的数据转变成列表(也可以使用tuple转变成元组)
登录后就应该跳转到此页面,但此时应该跳转到/diaries,而不是diaries.html页面。那么应该怎么修改呢?
@app .route('/login')def login(): username = request.args.get('username') password = request.args.get('psw') result = sql.find_user(username) print("======================================") print(result) if result is not None and username == result[0] and password == result[1]: return redirect('/diaries') else: response = make_response("登录失败") return response
登录处理函数其实只修改了第13行,redirect函数跳转到指定url