App下載

怎么創(chuàng)建一個(gè)小型web項(xiàng)目?——flask介紹

猿友 2021-06-15 15:10:57 瀏覽數(shù) (2740)
反饋

對(duì)于一個(gè)后端的初學(xué)者而言,小編覺(jué)得其實(shí)學(xué)習(xí)什么語(yǔ)言什么框架對(duì)初學(xué)者來(lái)說(shuō)應(yīng)該是一種負(fù)擔(dān)。為什么這么說(shuō)呢,因?yàn)槌鯇W(xué)者往往不知道什么是請(qǐng)求什么是響應(yīng),更不必說(shuō)session和cookie了。所以對(duì)于后端的初學(xué)者而言,先學(xué)習(xí)一種簡(jiǎn)單的功能完備的框架可以讓初學(xué)者對(duì)整個(gè)web應(yīng)用的開(kāi)發(fā)有個(gè)簡(jiǎn)單而全面的了解。而今天小編要介紹的,是一款輕量級(jí)的python web開(kāi)發(fā)框架,他就是Flask。

介紹

Flask是一個(gè)輕量級(jí)的web應(yīng)用框架,它擁有高度的可定制性。相較于其他同類(lèi)型的框架,它的使用更加靈活輕便。而且由于它高度封裝了python的服務(wù)器網(wǎng)關(guān)接口,使得它的代碼更加簡(jiǎn)潔易懂,新手也可以很容易進(jìn)行上手。

應(yīng)用

python廣受詬病的一點(diǎn)就是其性能并不如java等編譯型語(yǔ)言,flask作為一個(gè)輕量型的web框架在性能優(yōu)化上面也不如同為python框架的Django和Tornado。但是因?yàn)樗p量且開(kāi)發(fā)快速,所以用來(lái)構(gòu)建小型的web應(yīng)用程序綽綽有余,利用flask來(lái)進(jìn)行原型開(kāi)發(fā)也是一個(gè)不錯(cuò)的選擇(苦惱于畢業(yè)設(shè)計(jì)的計(jì)算機(jī)專(zhuān)業(yè)學(xué)生終于有了更輕松的選擇)。

比較

這是Flask的一個(gè)簡(jiǎn)單的返回helloworld的頁(yè)面,只有一個(gè) ?app.py? 文件,直接解釋執(zhí)行這個(gè)python文件就能使用這個(gè)web應(yīng)用。

from flask import Flask

app = Flask(__name__)  # 初始化一flask應(yīng)用


@app.route('/hello') # 這個(gè)注解表示如果傳入路徑是/hello的話(huà)執(zhí)行hello_world函數(shù)
def hello_world():
    return 'Hello World!' # 返回helloworld,也可以返回一個(gè)頁(yè)面


if __name__ == '__main__':
    app.run()  # 運(yùn)行這個(gè)flask應(yīng)用

這是java的一個(gè)簡(jiǎn)單的返回helloworld的頁(yè)面,不僅代碼復(fù)雜了許多,而且這些代碼只是整個(gè)項(xiàng)目中最關(guān)鍵的部分,這個(gè)代碼還需要web.xml的支持,需要部署在Tomcat上才能運(yùn)行,部署之前還需要先進(jìn)行編譯...

package com.example.demo1;

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet(name = "helloServlet", value = "/hello-servlet")  //這個(gè)注解表示該servlet關(guān)聯(lián)到/hello-servlet這個(gè)路徑
public class HelloServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");//設(shè)置響應(yīng)的類(lèi)型為html
        PrintWriter out = response.getWriter(); //使用printWriter進(jìn)行響應(yīng)流的輸出
        out.println("hello world!"); //在響應(yīng)流中寫(xiě)入helloworld
    }
}

java的servlet在使用注解后已經(jīng)簡(jiǎn)便了很多,但還是比不上Flask。

小結(jié)

在開(kāi)發(fā)的輕便程度上,python的Flask可謂是一騎絕塵,正因如此它也是很多 python 學(xué)習(xí)人員的首選python web框架。所以python后端的初學(xué)者(其實(shí)java后端初學(xué)者也可以先從Flask入門(mén)再轉(zhuǎn)java后端)最好先對(duì)Flask框架進(jìn)行學(xué)習(xí)。網(wǎng)上也不乏有優(yōu)秀的Flask課程,W3Cschool也提供了優(yōu)質(zhì)的Flask手冊(cè),小伙伴們可以前往進(jìn)行學(xué)習(xí)。

以上就是怎么創(chuàng)建一個(gè)小型web項(xiàng)目的全部?jī)?nèi)容,更多精彩內(nèi)容盡請(qǐng)關(guān)注W3C技術(shù)頭條。


0 人點(diǎn)贊