Python web实战 | 用 Flask 框架快速构建 Web 应用【实战】

2024-06-04 1469阅读

Python web实战 | 用 Flask 框架快速构建 Web 应用【实战】 第1张


 概要

Python web 开发已经有了相当长的历史,从最早的 CGI 脚本到现在的全栈 Web 框架,现在已经成为了一种非常流行的方式。

Python 最早被用于 Web 开发是在 1995 年(90年代早期),当时使用 CGI 脚本编写动态 Web 页面。2004 年 Django 框架发布,它是一个高度模块化的框架,提供了许多开箱即用的功能,使得 Web 开发更加容易和快速。Flask 框架于 2010 年发布,是一个轻量级的框架,它提供了更少的默认功能,但也更灵活,允许开发者根据需要添加或删除功能。


1. 什么是 Flask?

Flask 是一款 Python 的轻量级 Web 框架,它的特点是简单易用、灵活性高。Flask 框架可以快速搭建 Web 应用程序,是一个很好的选择。Flask 框架的核心思想是 WSGI(Web Server Gateway Interface),它定义了 Web 服务器和 Web 应用程序之间的通信协议。

1.1 Flask 的优势

  • 简单易用:Flask 框架的 API 简单易用,开发者能够快速上手。MVC设计模式。

  • 灵活性高:Flask 框架的扩展性高,可以根据实际需求进行扩展。

  • 轻量级:Flask 框架的代码量小,运行速度快。

  • 文档丰富:Flask 框架的文档非常详细,开发者能够轻松查找所需信息。

    1.2 Flask 的缺点

    • 轻量级:Flask 框架的轻量级也是它的缺点之一,它的功能相对有限,需要自己进行扩展。

    • 不适合大型应用程序:Flask 框架适合小型应用程序,对于大型应用程序来说,可能会出现性能瓶颈。这时可以考虑Django。

      1.3 Flask 的基础组件

      Flask 框架由以下几个基础组件组成:

      • 路由:定义 URL 和视图函数之间的映射关系。

      • 视图函数:处理请求并返回响应。

      • 模板:生成 HTML 页面。

      • 表单:处理用户提交的数据

      • 扩展:实现 Flask 框架的扩展功能。

        2. 基础使用

        2.1 安装 Flask

        在开始使用 Flask 之前,需要先安装 Flask。可以使用 pip 命令进行安装:

        pip install Flask
        

        2.2 Hello World

        下面是一个简单的示例,展示了如何使用 Flask 框架输出 "Hello World"。

        新建一个app.py文件,输入如下内容。

        Linux下执行:

        export FLASK_APP=app.py

        flask run

        打开浏览器访问 http://127.0.0.1:5000/ 即可。

        如果是 windows 执行:

        set FLASK_APP=app.py

        flask run

        from flask import Flask
        app = Flask(__name__)
        @app.route('/')
        def hello_world():
            return 'Hello, World!'
        

        2.3 路由和视图函数

        在 Flask 中,路由和视图函数是紧密相关的。路由用于将 URL 映射到视图函数上,视图函数则处理请求并返回响应。为了实现路由和视图函数,我们可以使用 Flask 中的 @app.route 装饰器。下面是一个简单的示例:

        from flask import Flask
        app = Flask(__name__)
        @app.route('/')
        def index():
            return 'This is the index page.'
        @app.route('/hello')
        def hello():
            return 'Hello, World!'
        

        @app.route('/') 和 @app.route('/hello') 分别定义了两个路由,index() 和 hello() 则是两个视图函数。

        2.4 模板

        模板是 Flask 中生成 HTML 页面的一种方式。Flask 支持多种模板引擎,包括 Jinja2、Mako、Tenjin 等。在本文中,我们使用 Jinja2 作为模板引擎。

        下面是一个简单的示例,展示了如何使用模板生成 HTML 页面:

        from flask import Flask, render_template
        app = Flask(__name__)
        @app.route('/')
        def index():
            return render_template('index.html', title='Home')
        @app.route('/hello')
        def hello():
            return render_template('hello.html', name='Flask')
        

        render_template() 函数用于渲染模板,第一个参数指定模板名称,第二个参数则是模板中使用的变量。

        2.5 静态文件

        静态文件包括 CSS、JavaScript、图片等。在 Flask 中,可以使用 url_for() 函数生成静态文件的 URL。

        下面是一个简单的示例:

        
        
            
            {{ title }}
            

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]