溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python flask怎么搭建web應用教程

發布時間:2021-02-07 14:10:57 來源:億速云 閱讀:181 作者:小新 欄目:開發技術

這篇文章主要介紹python flask怎么搭建web應用教程,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

python flask搭建web應用的示例

1.flask介紹

flask是一款十分輕量級的python Web應用框架,也被認為是一種微框架,我最初喜歡使用是因為flask中提供的那一套使用的注解跟我當時在公司中使用java開發的系統,里面使用的restful的框架jersey的用法比較像,都十分方便,簡潔,等到我熟悉使用flask框架之后,就挺喜歡這種微框架了,使用方便,配置簡單,也可以進行克重擴展,滿足各自的需求,其中在這些里面還有一個flask restplus,將swagger工具整合到python里面,在進行相應測試的時候十分方便,這個放到下一期再講。

2.所需工具和環境

這一次運行flask需要使用的flask環境就不在物理機上安裝運行了,直接使用上一篇講述的virtualenv來安裝flask,寫出來的app demo都是依賴在虛擬環境運行的,以下是我們這次演示所需要的python工具和相應包。

pycharm 2016

virtualenv

pytohn 2.7

flask

以pycharm作為python ide, virtualenv以python 2.7創建我們的python運行環境,并用 pip install flask,環境搭建基本就完成了,下面是具體流程。

3.搭建flaskApp

3.1 設置虛擬化環境

打開pycharm,新建工程命名為flaskApp,完成后如下:

python flask怎么搭建web應用教程

現在基本是一個空工程,現在打開控制臺,輸入以下命令,創建虛擬化環境:

virtualenv venv

控制臺輸出完成后,將會在當前目錄中創建一個venv文件夾,里面是我們運行python的虛擬化環境,在這里我并沒有指明使用哪種版本的python環境是因為當前系統默認的環境是python2.7,如果想使用python3.0以上可以參考前一篇文章virtualenv介紹及基本使用來完成。

現在要做的第二步就是啟動當前的虛擬化環境,輸入命令source venv/bin/active,完成后控制臺將會如下所示:

python flask怎么搭建web應用教程

(venv) localhost:flaskApp xiaxuan$ 表示我們的虛擬化環境啟動成功,但是現在并不是表示當前pycharm中當前工程的工作環境就是venv中的虛擬化環境,這里要設置pycharm中的python interpreter改為當前項目的運行環境才行。

安裝flask的命令如下:

pip install flask

由于虛擬化環境,所以不需要root權限,十分方便。

在安裝完相應依賴,設置好python運行環境后,在項目根目錄下新建requirements.txt文件,這個文件主要就是記載當前項目安裝了那些依賴,文件內容如下:

flask==0.12
Jinja2==2.9.5

這是目前安裝的依賴,前面是包名,后面是版本號,由于這個的存在我們可以直接在項目沒有安裝這些package之前,將所需的package寫進來,然后在控制臺使用pip install -r requirements.txt,就可以將這些依賴全部安裝進來。

3.2 搭建flask工作目錄

一個完整的flask項目的完整目錄以及基本的如下所示:

python flask怎么搭建web應用教程

test: 測試文件的位置

templates: html文件存放位置

static: 靜態文件css和js存放位置

views.py: 主要接口編寫文件,目前是所有的接口都寫在這里,但是實質上要進行一定的分模塊寫接口,這個涉及到的技術是blueprint,這個在后期進行講解。

models.py: 對象的定義

run.py: 啟動運行文件

config.py: 配置文件

manager.py: 用于啟動程序以及其他的程序任務

以上就是簡單的flask項目基本目錄。

4. 具體程序編寫

4.1源碼

views.py:

# cong:utf-8

from flask import jsonify
from flask import render_template

from app import app


@app.route("/")
def index():
  return render_template("index.html")


@app.route("/hello", methods=['GET', ])
def hello():
  return jsonify(msg="hello world!")

上圖提供兩個接口,一個是渲染視圖index.html,一個是返回json結果,較為簡單,而在flask中接口的路由就是一個簡簡單單的注解app.route完成的,指定是哪一種http請求訪問也是非常簡單的,指定methods即可,methods是一個數組,即GET,POST可以同時在一個請求之中,但是我們在寫接口的時候,一般都會區分清楚。

在上面有一個

from app import app,這個需要提一下,這個在app包中的init.py文件之中聲明的,如下:

# coding:utf-8

from flask import Flask

app = Flask(__name__)

from app import views

在這里聲明了app對象,在views中我們引用了app,同時在下面一個文件run.py中,app起著啟動整個項目的作用,run.py源碼如下:

# coding:utf-8
from app import app

if __name__ == '__main__':
  app.run()

十分簡單明了,app.run()整個項目便運行起來了,在這里運行的時候,項目是默認的端口為5000,如果需要指定端口,app.run()方法中指定port即可。

4.2 運行

啟動run.py后,控制臺如下:

python flask怎么搭建web應用教程

控制臺輸出已經在5000端口上運行起來,現在我們請求http://localhost:5000,轉向界面為:

python flask怎么搭建web應用教程

這是先前views.py中的第一個接口,渲染index.html,index.html中的內容就是hello world。

訪問第二個接口,url為http://localhost:5000/hello,結果如下:

python flask怎么搭建web應用教程

返回json數據。

5. 綜上

flask這種微框架搭建和運行都是一種比較簡單的事情,但是在面對一些并發量比較高的場景的時候,基本就支撐不住了,后續講述如何應對這一種場景。

在多模塊項目編寫的時候,接口就不能放在一個views.py文件之中,需要分模塊存放,這個涉及到了blueprint技術,在下一期中將講述這個。

以上是“python flask怎么搭建web應用教程”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女