暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python:如何搭建 Flask 应用的技术指南

拾荒的小海螺 2024-09-04
116

1、简述

Flask 是一个轻量级的 Python Web 框架,非常适合快速构建 Web 应用程序。在本博客中,我们将介绍如何从零开始搭建一个 Flask 项目,并展示一个简单的示例应用程序。


2、环境准备

在开始之前,请确保已在系统上安装了 Python。您可以通过以下命令来检查是否已安装 Python:

    python --version

    如果没有安装 Python,请访问 Python 官方网站

    https://www.python.org/downloads/%5D%28https://www.python.org/downloads/ 

    下载并安装。


    在运行命令行中输入python,确认是否安装成功:


    3、安装 Flask

    自己收集的组件集合requirements.txt:

      alembic==1.0.0
      asn1crypto==0.24.0
      blinker==1.4
      certifi==2018.8.13
      cffi==1.11.5
      chardet==3.0.4
      cryptography==2.3.1
      Flask==0.10.1
      Flask-CKEditor==0.4.2
      Flask-Migrate==2.5.2
      Flask-MySQLdb==0.2.0
      Flask-Script==2.0.6
      Flask-Session==0.3.1
      Flask-SQLAlchemy==2.3.2
      Flask-WTF==0.14.2
      idna==2.7
      itsdangerous==0.24
      jieba==0.39
      Jinja2==2.10
      Mako==1.0.7
      MarkupSafe==1.0
      mysqlclient==1.3.13
      Pillow==5.2.0
      psutil==5.4.7
      pycparser==2.18
      PyMySQL==0.9.3
      python-dateutil==2.7.3
      python-editor==1.0.3
      qiniu==7.2.6
      redis==2.10.6
      requests==2.19.1
      six==1.11.0
      SQLAlchemy==1.2.10
      urllib3==1.25.3
      Werkzeug==0.14.1
      WTForms==2.2.1

      安装指令pip3:请确认你python版本是否存在,若未有请下载安装。

      python 2.x 指令pip,python 3.x 指令pip3。

        pip3 install -r  requirements.txt


        若安装过程中组件集合中有未安装成功的,请单独安装例如:

          pip3 install requests


          4、创建 Flask 应用

          在 IDEA 创建Project,请在Project SDK 中选择你Python安装目录:

          点击Next,选择Flask Project选项:

          创建一个名为 mxf.py 的文件,并添加以下代码:

            from flask import Flask, render_template


            app = Flask(__name__)


            @app.route('/')
            def hello_world():
            return "Hello, Flask!"


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

            这是一个最简单的 Flask 应用。@app.route('/') 指定了 URL 路径,当用户访问根路径 (/) 时,hello_world() 函数将返回一个简单的字符串 "Hello, World!"。


            点击Edit Configurations,后续集成manager在Script parameters设置当前项目IP和端口号:

              runserver --host 127.0.0.1 --port 8080

              未集成manager,可以通过修改app.run接口修改

                if __name__ == '__main__':
                app.run(host='127.0.0.1',port=80)

                打开浏览器,访问 http://127.0.0.1/,您将看到页面显示 "Hello, World!"。


                5、应用场景

                5.1 Flask 的优点

                轻量级框架: Flask 是一个微框架,核心功能简单易懂,不会强制使用特定的工具或库。这使得开发者可以自由选择适合自己项目的工具和扩展库。

                灵活性高: 由于 Flask 没有内置的 ORM(对象关系映射)或表单验证工具,开发者可以自由选择使用的第三方库,具备高度定制化的能力。

                简单易学: Flask 的文档丰富且友好,非常适合初学者。其核心 API 简单易懂,容易上手并能快速搭建出一个可用的 Web 应用。

                扩展性强: Flask 拥有大量社区支持的扩展库,可以轻松集成数据库、认证、API 处理等功能。此外,如果需要更复杂的功能,开发者可以通过扩展自定义中间件和功能。

                单文件应用: 对于小型项目,Flask 可以使用单个 Python 文件构建和运行 Web 应用,非常适合快速原型开发。


                5.2 Flask 的缺点

                功能有限: 作为一个微框架,Flask 并不包含完整的 Web 应用功能。相比于 Django 等大型框架,开发者需要自行实现或集成许多功能,例如认证系统、表单处理等。

                缺乏规范: Flask 提供的自由度虽然高,但也意味着不同的开发者可能会以不同的方式组织代码和项目结构,这在团队协作时可能带来困惑和维护困难。

                复杂性控制: 随着项目规模的增加,Flask 应用可能变得难以维护。开发者需要自己规划和组织项目架构,否则可能会遇到代码冗余和混乱的情况。

                社区支持相对较小: 虽然 Flask 社区活跃,但与更大规模的框架(如 Django)相比,其社区规模和资源相对较少,在遇到问题时可能需要更多时间来寻找解决方案。


                5.3 Flask 的应用场景

                快速原型开发: Flask 是创建原型和 MVP(最小可行产品)的理想选择。开发者可以通过 Flask 快速构建简单的 Web 应用,验证想法并迅速迭代。

                小型应用和微服务: 对于不需要复杂功能的小型 Web 应用,Flask 非常适合。此外,Flask 也常用于构建微服务,由于其轻量和灵活性,开发者可以轻松构建并部署微服务组件。

                RESTful API 开发: Flask 非常适合开发 RESTful API。通过与 Flask-RESTful、Flask-Swagger 等扩展库结合,开发者可以快速构建和文档化 API 接口。

                嵌入式系统或脚本工具: Flask 的小巧特性也适合在嵌入式系统或脚本工具中使用,用于创建简单的用户界面或提供 Web 服务。

                教育和学习项目: 由于 Flask 的简单性,它也是学习 Web 开发的好选择。学生和初学者可以通过 Flask 了解 Web 框架的基本原理,并掌握构建 Web 应用的技能。


                6、总结

                通过这篇博客,您已经学习了如何使用 Flask 搭建一个简单的 Python Web 应用。从安装 Flask 到创建模板,并通过传递动态内容使页面更加生动。Flask 提供了极大的灵活性,适合初学者和小型项目。您可以根据需求进一步扩展此应用,添加更多的路由和功能。

                通过这篇技术博客,读者不仅可以快速上手 Flask,还可以基于此基础构建更复杂的 Web 应用。如果您有任何问题或建议,欢迎在评论区留言!


                文章转载自拾荒的小海螺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论