Flask框架

来源:互联网 发布:手机淘宝怎么关注主播 编辑:程序博客网 时间:2024/06/09 19:45

Flask框架:

    1.模板放在templates下面的html文件

    2. 各url的请求在@app.route('/',methods=['GET','POST'])

#coding=utf-8__author__ = 'mac'#API地址:http://localhost:5000/time, Get方法import timefrom flask import Flask,request,render_templateimport loggingimport requestsapp=Flask(__name__)def write_log(msg):   logging.basicConfig(level=logging.ERROR,                       format='%(message)s',                       datefmt='%a, %d %b %Y %H:%M:%S',                       filename='app.log',                       filemode='a')   logging.error(msg)# 未使用模板如下:#输入/signin,会get下面的form表单@app.route('/signin',methods=['GET'])def signin_form():    return '''<form action="/signin" method="post">              <p><input name="username"></p>              <p><input name="password" type="password"></p>              <p><button type="submit">Sign In</button></P>              </form>'''#输入/signin,判断如果要提交的request.form的值,点击Sign In后会post请求到Http,返回相应的return网页@app.route('/signin',methods=['POST'])def signin():    if request.form['username']=='admin' and request.form['password']=='password':        return '<h3>Hello,admin!</h3>'    return '<h3>Bad username or password.</h3>'#使用模板,导入render,return render,将上面的/signin改成模板形式@app.route('/',methods=['GET','POST'])def home():    return render_template('home.html')@app.route('/signin',methods=['GET'])def signin_form():    return render_template('form.html')@app.route('/signin',methods=['POST'])def signin():    username=request.form['username']    password=request.form['password']    if request.form['username']=='admin' and request.form['password']=='password':        return render_template('signin-ok.html',username=username)    return render_template('form.html',message="Bad username or password.",username=username)if __name__=='__main__':
# app.run(host='10.0.0.32',port=5001,debug=True)
app.run()
flaskAPI下面的templates文件夹下面3个html的内容如下:
(1)form.html
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>please Sign In</title></head><body>    {% if message %}    <p style="color: red">{{message}}</p>    {% endif %}    <form action="/signin" method="post">        <legend>please sign in:</legend>>        <p><input name="username" placeholder="Username" value="{{username}}"></p>        <p><input name="password" placeholder="Password" type="password"></p>        <p><button type="submit">Sign In</button>></p>    </form></body></html>
(2)home.html
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Home</title></head><body>    <h1 style="font-style: italic">Home</h1></body></html>
(3)signin-ok.html
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Welcome,{{username}}</title></head><body>    <p>welcome,{{username}}</p></body></html>