??這幾天看群里面的大佬基本上個個被逼相親,可愛小娟娟還一天相四次(簡直了),我們程式員也是很帥的很美的,其實我們的頭發也挺多的哈哈哈哈(至少我身邊的程式員挺多頭發的,當然我linux老師頭發有點少),剛剛逛stackoverflow看到一個趣圖保存下來了哈哈哈,當然這只是個搞笑圖哈哈哈,

這是前面的重點:
測驗開發——搭建一個簡單 web服務(flask框架基礎)專案實戰
flask
- 一、請求與回應
- 二、結合前端
- 回傳html檔案
- CSS樣式
- 三、結合后端
- 四、Run方法
- host
- port
- debug
- 五、flask 中的配置項config
- 六、路由
- 引入裝飾器,裝飾器要放到@app.route()里面
一、請求與回應
# coding:utf-8
#請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__)
# 2.添加路由 視圖函式(view function)
@app.route("/")
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
#return render_template('login.html')
if __name__ == "__main__":
# 2.運行服務器,如果不指定埠,就會默認埠5000
app.run(port=8003)
運行結果:

注意:如果我們回傳加載一個html檔案,在檔案外部直接新建一個templates檔案夾,因為我點開Flask的介面進去就可以看見關于它的用法,

二、結合前端
回傳html檔案
將你所需要跳轉的Html檔案寫進去,檔案目錄例如

原始碼:
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>你真的很棒!</title>
</head>
<body>
<a href="https://blog.csdn.net/hanhanwanghaha">CSDN搜索關注:我一個超級無敵可愛的人鴨 </a>
</body>
</html>
flask_one.py
# coding:utf-8
#請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__)
# 2.添加路由 視圖函式(view function)
@app.route("/")
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
#return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
return render_template('login.html')
if __name__ == "__main__":
# 3.運行服務器,如果不指定埠,就會默認埠5000
app.run(port=8003)
運行結果

CSS樣式
點擊Flask函式,有個這樣的定義:

于是在我的專案下面新建一個檔案夾名為:static,寫一個樣式

再在我的Html中引入css樣式

最后,運行一下

注意:其實這個檔案的名字是可以改的,如

https://blog.csdn.net/hanhanwanghaha
我的官方原文地址,歡迎搜索加關注!
盜文章者豬狗不如
三、結合后端
static_folder
與static_url_path不同的是, static_folder會告訴程式,我的靜態檔案放在硬碟的位置,而static_url_path是告訴程式處理靜態檔案的url路徑
eg:
# coding:utf-8
#請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__,
template_folder="bbb",
static_url_path="/ooo",
static_folder="ooo"
)
# 2.添加路由 視圖函式(view function)
@app.route("/")
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
#return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
return render_template('login.html')
if __name__ == "__main__":
# 3.運行服務器,如果不指定埠,就會默認埠5000
app.run(port=8003)
運行結果:

四、Run方法
點擊run,就可以看見 host host debug

host
port
debug
- 設定debug=True,每次改動都會重啟服務
設定debug=False,每次改動都不會重啟服務
app.run(debug=True)
- 設定debug=True,顯示具體錯誤到前端(當然這個最好不要隨便用,因為你已經把你的漏洞告訴別人,別人就會分析你的漏洞,so很容易遭到攻擊!)

五、flask 中的配置項config
我們可以通過config去獲取到我們配置好的選項
# coding:utf-8
#請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__,
template_folder="bbb",
static_url_path="/ooo",
static_folder="ooo"
)
app.config["debug"]=True
app.config["port"]=8003
# 2.添加路由 視圖函式(view function)
@app.route("/")
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
#return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
return render_template('login.html')
# 3.運行服務器,如果不指定埠,就會默認埠5000
if __name__ == "__main__":
app.run(port=app.config["port"],debug=app.config["port"])
六、路由
如果說我們想使用多個路徑都顯示login.html頁面該怎么辦呢?例如
# coding:utf-8
#請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__,
template_folder="bbb",
static_url_path="/ooo",
static_folder="ooo"
)
# 2.添加路由 視圖函式(view function)
@app.route("/")
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
#return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
return render_template('login.html')
@app.route("/login")
def login():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
#return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
return render_template('login.html')
@app.route("/cute")
def cute():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
#return "Hello,thi s is index!"
#回應為html格式
#return "<p style ='color:green'>Hello,thi s is index!</p>"
#如果回傳加載一個檔案
return render_template('login.html')
# 3.運行服務器,如果不指定埠,就會默認埠5000
app.run(port=8003)
但可以簡化為:
# coding:utf-8
# 請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__,
template_folder="bbb",
static_url_path="/ooo",
static_folder="ooo"
)
# 2.添加路由 視圖函式(view function)
@app.route("/login")
@app.route("/cute")
@app.route("/")
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
# return "Hello,thi s is index!"
# 回應為html格式
# return "<p style ='color:green'>Hello,thi s is index!</p>"
# 如果回傳加載一個檔案
return render_template('login.html')
# 3.運行服務器,如果不指定埠,就會默認埠5000
app.run(port=8003)
引入裝飾器,裝飾器要放到@app.route()里面
# coding:utf-8
import time
# 請求與回應
from flask import Flask, request, render_template
# 1.初始化application
app = Flask(__name__,
template_folder="bbb",
static_url_path="/ooo",
static_folder="ooo"
)
# 裝飾器 列印時間
def log_time(f):
def decorator(*args, **kw):
print(f'{time.time()}')
return f(*args, **kw)
return decorator()
# 2.添加路由 視圖函式(view function)
@app.route("/login")
@app.route("/cute")
@app.route("/")
@log_time
def index():
# 引數的獲取:
littledata = request.args
name = littledata.get('username')
print(name)
# return "Hello,thi s is index!"
# 回應為html格式
# return "<p style ='color:green'>Hello,thi s is index!</p>"
# 如果回傳加載一個檔案
return render_template('login.html')
# 3.運行服務器,如果不指定埠,就會默認埠5000
app.run(port=8003)
接下來就會詳細記錄flask 路由,后面繼續更博!
https://blog.csdn.net/hanhanwanghaha歡迎關注這個超級無敵可愛的人鴨,有什么問題留言私信皆可,看見必回!
創作不易,如有轉載,請注明出處
最后,祝大家新年快樂,在新的一年做更好的程式員,拿更高工資的程式員!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/259482.html
標籤:python
