共计 1678 个字符,预计需要花费 5 分钟才能阅读完成。
w3cschool 小编
2022-12-22 17:59:51
浏览数 (3752)
对于一个后端的初学者而言,小编觉得其实学习什么语言什么框架对初学者来说应该是一种负担。为什么这么说呢,因为初学者往往不知道什么是请求什么是响应,更不必说 session 和 cookie 了。所以对于后端的初学者而言,先学习一种简单的功能完备的框架可以让初学者对整个 web 应用的开发有个简单而全面的了解。而今天小编要介绍的,是一款轻量级的 python web 开发框架,他就是 Flask。
介绍
Flask 是一个轻量级的 web 应用框架,它拥有高度的可定制性。相较于其他同类型的框架,它的使用更加灵活轻便。而且由于它高度封装了 python 的服务器网关接口,使得它的代码更加简洁易懂,新手也可以很容易进行上手。
应用
python 广受诟病的一点就是其性能并不如 java 等编译型语言,flask 作为一个轻量型的 web 框架在性能优化上面也不如同为 python 框架的 Django 和 Tornado。但是因为它轻量且开发快速,所以用来构建小型的 web 应用程序绰绰有余,利用 flask 来进行原型开发也是一个不错的选择(苦恼于毕业设计的计算机专业学生终于有了更轻松的选择)。
比较
这是 Flask 的一个简单的返回 helloworld 的页面,只有一个 app.py 文件,直接解释执行这个 python 文件就能使用这个 web 应用。
from flask import Flask
app = Flask(__name__) # 初始化一 flask 应用
@app.route('/hello') # 这个注解表示如果传入路径是 /hello 的话执行 hello_world 函数
def hello_world():
return 'Hello World!' # 返回 helloworld,也可以返回一个页面
if __name__ == '__main__':
app.run() # 运行这个 flask 应用
这是 java 的一个简单的返回 helloworld 的页面,不仅代码复杂了许多,而且这些代码只是整个项目中最关键的部分,这个代码还需要 web.xml 的支持,需要部署在 Tomcat 上才能运行,部署之前还需要先进行编译 …
package com.example.demo1;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(name = "helloServlet", value = "/hello-servlet") // 这个注解表示该 servlet 关联到 /hello-servlet 这个路径
public class HelloServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {response.setContentType("text/html");// 设置响应的类型为 html
PrintWriter out = response.getWriter(); // 使用 printWriter 进行响应流的输出
out.println("hello world!"); // 在响应流中写入 helloworld
}
}
java 的 servlet 在使用注解后已经简便了很多,但还是比不上 Flask。
小结
在开发的轻便程度上,python 的 Flask 可谓是一骑绝尘,正因如此它也是很多 python 学习人员的首选 python web 框架。所以 python 后端的初学者(其实 java 后端初学者也可以先从 Flask 入门再转 java 后端)最好先对 Flask 框架进行学习。网上也不乏有优秀的 Flask 课程 ,W3Cschool 也提供了优质的 Flask 手册 ,小伙伴们可以前往进行学习。喜欢视频课的同学也可以选择我们的新课程(点击图片跳转到该课程):
快来学习 Flask 吧!
原文地址: 麻雀虽小,五脏俱全——python web 框架 Flask 介绍