自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python微型Web框架Flask快速入門

開發(fā) 后端
微型意味著Flask本身只提供了簡單的核心的功能,但它具備了強大的可擴展性。比如,它不會強制你使用某個ORM框架,而是把選擇權(quán)交給你,讓你自己決定集成哪個擴展。

[[413649]]

本文轉(zhuǎn)載自微信公眾號「dongfanger」,作者dongfanger。轉(zhuǎn)載本文請聯(lián)系dongfanger公眾號。

Flask是什么

如果說Django是一個開箱即用的自帶完善功能的Web框架,那么Flask就是一個只提供基礎(chǔ)結(jié)構(gòu)的微型框架。這一點從它的GitHub源碼就能看出端倪:

它的核心代碼就只有這么多。微型意味著Flask本身只提供了簡單的核心的功能,但它具備了強大的可擴展性。比如,它不會強制你使用某個ORM框架,而是把選擇權(quán)交給你,讓你自己決定集成哪個擴展。

無論如何,都應(yīng)該學(xué)習(xí)一下Flask,因為它讓你從零開始,了解一個Web框架是如何誕生的:

安裝Flask

Flask需要Python3.6及以上才能使用,最新的async異步支持需要Python3.7及以上。

安裝Flask前可以先創(chuàng)建一個虛擬環(huán)境,這樣相關(guān)的包都放在這個虛擬環(huán)境中。

Mac用戶:

  1. # 創(chuàng)建 
  2. $ mkdir myproject 
  3. $ cd myproject 
  4. $ python3 -m venv venv 
  5. # 激活 
  6. $ . venv/bin/activate 

Windows用戶:

  1. # 創(chuàng)建 
  2. > mkdir myproject 
  3. > cd myproject 
  4. > py -3 -m venv venv 
  5. # 激活 
  6. > venv\Scripts\activate 

然后就通過pip安裝Flask即可:

  1. $ pip install Flask 

Hello World

Flask是一個Web框架,更準(zhǔn)備的說是一個提供接口的后端服務(wù),只需要5行代碼就能實現(xiàn)一個接口:

  1. from flask import Flask 
  2.  
  3. app = Flask(__name__) 
  4.  
  5. @app.route("/"
  6. def hello_world(): 
  7.     return "<p>Hello, World!</p>" 

 

截止到目前,還沒見過哪個Web框架是這么玩的,有點顛覆對Web框架的認(rèn)知,印象中的Web框架都是有點龐大的,F(xiàn)lask卻很輕巧的就實現(xiàn)了。

運行后會在控制臺輸出:

  1. set FLASK_APP=hello 
  2. > flask run 
  3.  * Running on http://127.0.0.1:5000/ 

瀏覽器訪問http://127.0.0.1:5000/就會看到Hello, World!字樣。

代碼解析

這幾行代碼會做這4件事:

  1. from flask import Flask,F(xiàn)lask類的實例就是一個WSGI應(yīng)用,這樣才能跑起來。
  2. app = Flask(__name__),參數(shù)__name__是模塊或包名,這樣Flask才能去查找Web相關(guān)文件。
  3. @app.route("/"),定義了接口的URL,也就是路由配置,默認(rèn)是GET方法。
  4. hello_world()函數(shù)是具體的接口處理邏輯代碼,返回了一個HTML字符串。

小結(jié)

本文簡單介紹了Flask是什么,怎么安裝Flask,演示了Hello World的代碼實現(xiàn)Demo,并對代碼進行了解析。為什么一定要學(xué)Flask呢?我最近看了一篇Django vs Flask的最新的比較文章,原文是國外某個博客發(fā)的,里面說道,如果你想在當(dāng)前快速實現(xiàn)某個需求,那么可以選擇使用Django。但是請你有時間務(wù)必回過頭來學(xué)一下Flask,因為這樣才能知道用Python做Web開發(fā)的所有細(xì)節(jié)。

參考資料:

https://flask.palletsprojects.com/en/2.0.x/

https://flask.palletsprojects.com/en/2.0.x/foreword/

https://flask.palletsprojects.com/en/2.0.x/installation/

 

https://flask.palletsprojects.com/en/2.0.x/quickstart/

 

責(zé)任編輯:武曉燕 來源: dongfanger
相關(guān)推薦

2023-06-27 08:34:32

2017-09-11 10:55:22

PythonWeb框架

2023-06-13 13:38:00

FlaskPython

2023-10-09 18:17:52

Python語言Web

2011-11-08 10:36:42

Java

2020-06-03 09:37:42

人臉識別人工智能開源

2024-09-29 16:36:16

2025-01-13 12:23:51

2024-08-27 09:09:49

Web系統(tǒng)JSP

2020-11-23 10:48:39

Golang GinW

2023-04-28 08:28:14

FlaskDjangoPython

2019-04-29 10:12:35

WebFlaskDjango

2009-06-18 09:29:44

Spring Web

2020-09-04 15:38:19

Web前端開發(fā)項目

2019-12-23 10:00:52

PythonFlaskPython Web

2022-06-30 08:13:44

PythonWeb編程語言

2009-05-12 09:54:09

JavaRestCoC

2017-07-18 15:13:17

2009-05-08 09:32:27

JavaWeb編程框架

2010-11-17 12:59:52

點贊
收藏

51CTO技術(shù)棧公眾號