首頁 >後端開發 >Python教學 >flask-one實例詳解

flask-one實例詳解

零下一度
零下一度原創
2017-06-30 13:23:071484瀏覽

安裝:

1 pip install Flask
啟動第一個腳本:
python hello.py   
存取位址:http://127.0.0.1 :5000
腳本如下:
1 from flask import Flask2 app = Flask(__name__)3 4 @app.route('/') #路由指定5 def hello_world():6     return 'Hello worlds summerkxy'7 if __name__ == '__main__':  #只有在本例使用的时候才会启动应用,包含该文件的话,不启动应用8     app.debug = True #开启调试模式9     app.run()

 

其中app.debug = True 開啟偵錯模式,也可以用app.run(debug=True)加入參數;好處:修改程式後不用重新啟動應用程式。
這是最簡單的應用。
 1 from flask import Flask 2 app = Flask(__name__) 3  4 #第一个路由 5 @app.route('/') 6 def hello_world(): 7     return 'Hello worlds summerkxy' 8  9 #第二个路由10 @app.route('/summerkxy')11 def summer():  #函数名随意,不可与自带函数名冲突;12     return "Hello summerkxy"13 if __name__ == '__main__':14     app.debug = True15     app.run()

有參數的url 

1 @app.route('/show/<username>')2 def show_user(username):3     return "show %s" % username

多重參數傳遞:

1 @app.route('/show/<username>/<age>')2 def show_user(username,age):3     return "show "+username+" age:"+age
#參數帶有型別:
@app.route("/age/<int:age>")def show_age(age):return "show age %d" % age

 

#轉換器有三種:

##intfloatpath#整數
##可整數型也可浮點型

普通類型,可帶斜線

 

 
 
url唯一性對比:
1 @app.route("/about/")2 def show_about():3     return "about/"4 5 @app.route("/about")6 def show_about1():7     return "about"
事實上只會配對到第一個url
 
建構url  url_for()   #未知
 

根據請求的方式,呼叫不同的函數,從而傳回不同內容:

 1 from flask import Flask,url_for #url_for暂时没用到 2 from flask import request 3 app = Flask(__name__) 4  5 @app.route("/") 6 def index(): 7     return "index" 8  9 @app.route('/login',methods=['GET','POST']) #首先会根据methods列表中的元素判断,如果没有找到就报错405方法不允许;10 def login():11     if request.method == 'POST':12         return do_the_login()13     else:14         return show_the_login_form()15 def do_the_login():16     return "post"17 def show_the_login_form():18     return "else method"19 20 if __name__ == '__main__':21     app.debug = True22     app.run()
 
##引入靜態css,js檔案
1 @app.route("/hello")2 def hello():3     cssurl = url_for('static', filename='style.css')4     return render_template("hello.html",age=cssurl)5 .html文件中6 <link type="text/css" rel="stylesheet" href="{{ age }}">7 <h1>{{ age }}</h1>
問題:單獨一個url傳回一個樣式,毫無意義,如何傳遞多個值
使用list/dist即可
 

傳送參數至模版檔案:

1 @app.route("/hello")2 def hello(name='summerkxy'):3     return render_template("hello.html",age=name)#变量名age就是传递到模版文件中的4 .html文件5 <h1>hello {{ name }}</h1>
 ##############

以上是flask-one實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn