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