python flask編寫一個簡易的web端程序(附demo)
介紹
Flask 是一個用于構(gòu)建 Web 應(yīng)用程序的輕量級 Python Web 框架。它設(shè)計簡單、易于學(xué)習(xí)和使用,但同時也非常靈活,適用于從小型項目到大型應(yīng)用程序的各種場景。
| 特點和概念 | 描述 |
|---|---|
| 輕量級 | Flask 是一個輕量級框架,沒有強制性的依賴關(guān)系,允許開發(fā)者自由選擇和集成其他庫。 |
| 路由 | 使用裝飾器來定義 URL 路由,將不同的 URL 映射到相應(yīng)的處理函數(shù)上。 |
| 模板引擎 | 集成 Jinja2 模板引擎,允許在 HTML 中嵌套 Python 代碼,方便動態(tài)內(nèi)容的渲染。 |
| Web 表單 | 提供簡單而靈活的方式來處理 Web 表單,可以使用 Flask-WTF 等擴展簡化表單的驗證和處理。 |
| 擴展性 | 提供豐富的擴展庫,允許開發(fā)者集成數(shù)據(jù)庫、身份驗證、緩存等功能,根據(jù)項目需求進行選擇和定制。 |
| RESTful 支持 | 對 RESTful 風(fēng)格的 API 提供良好支持,結(jié)合 Flask-RESTful 等擴展可以輕松構(gòu)建 RESTful API。 |
| WSGI 兼容 | 符合 WSGI 標準,可以在大多數(shù)支持 WSGI 的 Web 服務(wù)器上運行。 |
簡單
確保已經(jīng)安裝了Flask。如果還沒有安裝,可以通過以下命令進行安裝(控制臺命令安裝):
pip install Flask

介紹裝飾器 @app.route(“/”)
@app.route("/") 是 Flask 中用于定義路由的裝飾器。它用于將一個 URL 路徑映射到一個特定的視圖函數(shù),使得在訪問特定路徑時能夠執(zhí)行相應(yīng)的操作。
我先寫一個最簡單的案例。如下面代碼:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index_hello():
return "你好,我是首頁"
if __name__ == '__main__':
app.run()
app.run(): 這是 Flask 應(yīng)用程序?qū)ο?(app) 的方法,用于啟動 Web 服務(wù)器以提供應(yīng)用服務(wù)。

效果

進階
增加接口
同理,如果我們要寫一個接口也可以使用裝飾器來進行如下面
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "你好,我是首頁"
@app.route('/get_type')
def get_type():
return ["語文", "數(shù)學(xué)"]
if __name__ == '__main__':
app.run()


設(shè)置端口
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "你好,我是首頁"
@app.route('/get_type')
def get_type():
return ["語文", "數(shù)學(xué)"]
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9680)
app.run(host='0.0.0.0', port=9680) 是用于啟動 Flask 應(yīng)用程序的方法。它指定了應(yīng)用程序監(jiān)聽的主機地址和端口號。
host='0.0.0.0': 這個參數(shù)指定了服務(wù)器監(jiān)聽的網(wǎng)絡(luò)接口。在這里,0.0.0.0表示服務(wù)器將會監(jiān)聽所有可用的網(wǎng)絡(luò)接口,即對外開放。這允許通過網(wǎng)絡(luò)訪問應(yīng)用程序,而不僅僅是通過本地機器。如果指定為localhost或127.0.0.1,則只能通過本地訪問。port=9680: 這個參數(shù)指定了服務(wù)器監(jiān)聽的端口號。在這里,設(shè)置為9680,表示應(yīng)用程序?qū)⒃谠摱丝谏辖邮諅魅氲?HTTP 請求。
| 參數(shù)名 | 類型 | 默認值 | 描述 |
|---|---|---|---|
| host | str | None | None | 指定服務(wù)器監(jiān)聽的主機地址。如果為 None,則服務(wù)器只能通過本地訪問。如果為 ‘0.0.0.0’,則服務(wù)器將監(jiān)聽所有可用的網(wǎng)絡(luò)接口,對外開放。 |
| port | int | None | None | 指定服務(wù)器監(jiān)聽的端口號。如果為 None,則使用默認端口號(通常是 5000)。可以設(shè)置為任何合適的整數(shù),如 8080 或 9680。 |
| debug | bool | None | None | 用于啟用或禁用調(diào)試模式。如果為 True,則啟用調(diào)試模式,提供更詳細的錯誤信息和自動重新加載應(yīng)用程序。默認為 None,根據(jù)應(yīng)用程序是否處于調(diào)試模式自動設(shè)置。 |
| load_dotenv | bool | True | 指定是否加載 .env 文件中的環(huán)境變量。默認為 True,表示 Flask 將嘗試從 .env 文件加載環(huán)境變量。 |


靜態(tài)網(wǎng)頁
在前面代碼的基礎(chǔ)上,我們?nèi)ピ黾幽夸?templates 并調(diào)整代碼:
核心代碼
@app.route('/')
def index():
return render_template('index.html')
Flask.render_template 是 Flask 框架中用于渲染模板的方法。這個方法使得應(yīng)用程序中使用模板引擎將動態(tài)數(shù)據(jù)嵌入到靜態(tài) HTML 頁面中,以生成最終的用戶界面。
完整代碼
文件:main.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/get_type')
def get_type():
return ["語文", "數(shù)學(xué)"]
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9680)
文件 index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>首頁</title>
</head>
<body>
我是首頁,首頁內(nèi)容
</body>
</html>


到此這篇關(guān)于python flask編寫一個簡易的web端程序(附demo)的文章就介紹到這了,更多相關(guān)python flask開發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python下的opencv畫矩形和文字注釋的實現(xiàn)方法
今天小編就為大家分享一篇python下的opencv畫矩形和文字注釋的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
tensorflow轉(zhuǎn)換ckpt為savermodel模型的實現(xiàn)
這篇文章主要介紹了tensorflow轉(zhuǎn)換ckpt為savermodel模型的實現(xiàn),具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧2020-05-05
用Python實現(xiàn)斐波那契(Fibonacci)函數(shù)
這篇文章主要介紹了用Python實現(xiàn)斐波那契(Fibonacci)函數(shù)的相關(guān)資料,需要的朋友可以參考下2016-03-03
python requests.post帶head和body的實例
今天小編就為大家分享一篇python requests.post帶head和body的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

