• Flask Web框架入门教程


    一、Flask简介

    Flask是一个轻量级的Web应用框架,使用Python编写。相比于Django等其他大型框架,Flask更加灵活和轻量,非常适合小型到中型的应用开发。它有一个强大的扩展库,可以方便地添加各种功能。

    二、安装Flask

    你可以使用pip命令来安装Flask:

     
    

    在terminal界面,切换到项目目录下输入

    pip install Flask

    三、创建简单的Flask应用

    1. 创建一个新的Python文件,比如app.py

    2. 导入Flask类:

    from flask import Flask

    1. 创建一个Flask实例:

    app = Flask(__name__)
    1. 定义一个路由:

    1. @app.route("/"
    2. def hello_world():
    3. return "hello, world!"

    这里,我们定义了一个路由,当用户访问应用的根URL('/')时,Flask会调用hello_world函数,并返回字符串'Hello, World!'。

    1. 运行应用:

     
    

    python复制代码

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

    这将启动一个开发服务器,并在本地主机的5000端口上运行应用。你可以通过浏览器访问http://localhost:5000/来查看应用。

    四、路由和视图函数

    在Flask中,路由用于将URL映射到视图函数。视图函数是处理请求并返回响应的函数。上面的例子中,我们定义了一个路由'/'和一个视图函数hello_world

    你也可以定义带有参数的路由,比如:

     
    

    python复制代码

    @app.route('/user/')
    def show_user_profile(username):
    # 显示用户信息
    return 'User %s' % username

    这里,是一个动态部分,它会被匹配到的任何文本替换,并作为参数传递给视图函数。

    五、模板

    对于复杂的HTML页面,通常使用模板来生成。Flask内置了对Jinja2模板引擎的支持。首先,你需要安装Jinja2:

     
    

    bash复制代码

    pip install Jinja2

    然后,在应用中定义一个模板文件夹,并在其中创建模板文件。比如,你可以创建一个名为templates的文件夹,并在其中创建一个名为index.html的模板文件。

    在视图函数中,你可以使用render_template函数来渲染模板:

     
    

    python复制代码

    from flask import render_template
    @app.route('/')
    def index():
    return render_template('index.html')

    这将渲染templates/index.html模板,并返回生成的HTML作为响应。

    六、扩展和插件

    Flask有一个庞大的扩展库,可以方便地添加各种功能,比如数据库支持、表单处理、安全性等。你可以使用pip来安装这些扩展,并在应用中导入和使用它们。

    七、部署

    当你开发完应用并准备将其部署到生产环境时,你需要选择一个WSGI服务器来运行应用。常见的选择包括Gunicorn、uWSGI等。你也可以使用像Heroku、Docker等云服务来部署和管理你的Flask应用。

    这只是一个简单的Flask入门教程,Flask还有很多高级功能和用法等待你去探索和学习。希望这个教程能帮助你开始使用Flask开发Web应用!

  • 相关阅读:
    回归测试怎么做?回归测试什么时候做?
    文件管理命令
    初识Java
    学习:DDR3基础知识(1)
    .net-------数值、日期和字符串处理
    初阶三子棋(超详解)
    微服务开发平台 Spring Cloud Blade 部署实践
    RepViT:从ViT视角重新审视移动CNN
    代码随想录训练营day53
    Step 3.1:垃圾收集器与内存分配策略
  • 原文地址:https://blog.csdn.net/yixiao120212/article/details/138011433