12.4.4 写入日记
登录成功后可跳转到写入日记页面diary.html:
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title> 写入日记 </title> </head> <body> <form action="/postDiary" method="post"> <div> 标题 <textarea rows="1" cols="50" name="title"> </textarea> </div> <div> 内容 <textarea rows="10" cols="50" name="content"> </textarea> </div> <input type="submit" value="提交"/> </form> </body></html>
为了简单起见,只有两个字段需要写入。此页面要显示需要在app.py中写入URL和HTML绑定:
@app.route('/diary')def diary(): return render_template("diary.html")
也可以在登录成功后跳转到此页面,需要修改login函数(41行改成42行)
一切正常的话,将出现下面的页面:
此页面提交数据到/postDiary,在app.py中增加处理函数:
@app .route('/postDiary', methods=['post'])def postDiary(): title = request.form.get('title') content = request.form.get('content') sql.insert_diary(title, content) response = make_response("成功") return response
第7行代码使用了insert_diary函数,在sql中新增此函数:
def insert_diary(title, content): conn = get_conn() cursor = conn.cursor() t = int(time.time()) timeStruct = time.localtime(t) createDate = time.strftime("%Y-%m-%d %H:%M:%S", timeStruct) sql = "insert into `diary`(`title`,`content`,`author`,`create_date`) values (%s,%s,%s,%s)" cursor.execute(sql, (title, content, 'abc', createDate)) conn.commit() #提交执行sql事务,在insert、delete、update中需要 conn.close() #关闭连接 # result = cursor.fetchone() # print(result[1]) # return result return