python flask快速搭建一个Web应用的完整步骤

 更新时间:2025年05月14日 09:46:40   作者:莫忘初心丶  
这篇文章主要介绍了python flask快速搭建一个Web应用的完整步骤,Flask是一个轻量级的Python Web框架,适合快速开发Web应用和API,它具有简洁的API、灵活性高和丰富的扩展,文中给出了详细的代码示例,需要的朋友可以参考下

一、Flask 简介

Flask 是一个轻量级的 Python Web 框架,旨在帮助开发者快速搭建 Web 应用。相比于 Django 等重量级框架,Flask 更加简洁和灵活,非常适合用于小型 Web 项目的开发,甚至可以用于构建 RESTful API。

Flask 的核心特性包括:

  • 简洁的 API:Flask 使用简单且直观的 API,开发者可以快速上手。
  • 灵活性高:Flask 不会过多限制开发者的选择,它给开发者提供了更多的自由度。
  • 扩展性:Flask 支持丰富的扩展,满足数据库、表单验证、用户认证等多种需求。

二、Flask 安装

要使用 Flask,首先需要安装 Flask 库。打开命令行,使用 pip 安装:

pip install flask

三、创建一个简单的 Flask 应用

  • 创建项目文件夹

    假设我们要创建一个名为 flask_demo 的项目,首先创建一个文件夹:

    mkdir flask_demo
    cd flask_demo
    
  • 创建 Flask 应用

    在 flask_demo 文件夹下,创建一个 Python 文件 app.py,并在其中编写以下代码:

    from flask import Flask
    
    # 创建 Flask 实例
    app = Flask(__name__)
    
    # 定义路由和视图函数
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    # 启动应用
    if __name__ == '__main__':
        app.run(debug=True)
    

    解释:

    • Flask(__name__):创建 Flask 应用实例,__name__ 参数告诉 Flask 应用在哪个模块中。
    • @app.route('/'):装饰器,表示访问根 URL 时执行 hello_world 函数。
    • app.run(debug=True):启动 Flask 应用并开启调试模式,方便开发时查看错误信息。
  • 运行应用

    在命令行中执行以下命令启动 Flask 应用:

    python app.py
    

    启动成功后,访问浏览器,输入 http://127.0.0.1:5000/,你应该能够看到浏览器显示“Hello, World!”。

四、Flask 路由与视图

在 Flask 中,路由是通过装饰器 @app.route() 来定义的,它将 URL 路径与视图函数(即处理请求的函数)进行关联。

例如,我们可以为不同的路径定义不同的视图函数:

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

@app.route('/goodbye')
def goodbye():
    return 'Goodbye, Flask!'

访问 http://127.0.0.1:5000/hello 会返回 “Hello, Flask!”,而访问 http://127.0.0.1:5000/goodbye 会返回 “Goodbye, Flask!”。

五、接收和处理用户输入

Flask 允许你通过请求对象 (request) 获取用户输入数据。常见的有 GET 和 POST 请求。

  • 处理 GET 请求

    默认情况下,Flask 使用 GET 方法处理请求。当你访问一个 URL 时,浏览器会发出一个 GET 请求。你可以通过 request.args 获取查询参数:

    from flask import request
    
    @app.route('/search')
    def search():
        query = request.args.get('q')
        return f'You searched for: {query}'
    

    访问 http://127.0.0.1:5000/search?q=Flask 会返回 “You searched for: Flask”。

  • 处理 POST 请求

    如果你需要处理表单提交的数据,可以使用 POST 请求。下面是一个简单的表单提交示例:

    from flask import request, render_template
    
    @app.route('/login', methods=['GET', 'POST'])
    def login():
        if request.method == 'POST':
            username = request.form['username']
            password = request.form['password']
            return f'Username: {username}, Password: {password}'
        return render_template('login.html')
    

    这个视图函数处理 /login 路由,GET 请求会返回一个登录表单,POST 请求会返回提交的用户名和密码。

六、模板引擎 Jinja2

Flask 使用 Jinja2 作为模板引擎,用于动态渲染 HTML 页面。在模板中,可以使用变量和控制结构(如 iffor 等)来构建动态内容。

例如,创建一个模板 index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flask Template Example</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

然后在视图函数中传递 name 变量:

from flask import render_template

@app.route('/greet')
def greet():
    return render_template('index.html', name='Flask User')

访问 http://127.0.0.1:5000/greet,你将看到 “Hello, Flask User!”。

七、Flask 与数据库

Flask 支持通过扩展(如 Flask-SQLAlchemy)来与数据库进行交互。SQLAlchemy 是一个强大的 ORM(对象关系映射)工具,可以将数据库表映射为 Python 类,并进行操作。

安装 Flask-SQLAlchemy:

pip install flask_sqlalchemy

然后,在 Flask 应用中配置数据库并使用 SQLAlchemy 进行数据操作:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(150), unique=True, nullable=False)

@app.route('/add_user')
def add_user():
    user = User(username='John Doe')
    db.session.add(user)
    db.session.commit()
    return 'User added successfully!'

八、总结

Flask 是一个非常灵活和轻量级的 Web 框架,适合用于快速开发 Web 应用和 API。它拥有简洁的 API,易于上手,而且可以通过丰富的扩展来实现更强大的功能。

在这篇博客中,我们介绍了如何安装 Flask、创建简单的 Web 应用、定义路由、处理用户输入、使用 Jinja2 模板引擎以及与数据库交互。

通过掌握 Flask 的基本用法,你可以开始构建更复杂的 Web 项目。

到此这篇关于python flask快速搭建一个Web应用的文章就介绍到这了,更多相关python flask搭建Web应用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用xlrd读取Excel格式文件的方法

    Python使用xlrd读取Excel格式文件的方法

    这篇文章主要介绍了Python使用xlrd读取Excel格式文件的方法,实例分析了Python操作Excel文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • python中playwright截屏API的实现

    python中playwright截屏API的实现

    无论是屏幕录制,还是屏幕截图,Playwright都提供了简洁的方法实现,本文就来详细的介绍一下python中playwright截屏API的实现,具有一定的参考价值,感兴趣的可以了解一下
    2026-01-01
  • 从基础到高级详解Python如何设置Excel表格边框样式

    从基础到高级详解Python如何设置Excel表格边框样式

    在生成Excel报表时,边框样式是提升可读性和美观度的关键,本文将通过代码示例教你如何用Python为Excel表格添加专业边框,快跟随小编一起学习起来吧
    2026-04-04
  • 基于Python fminunc 的替代方法

    基于Python fminunc 的替代方法

    今天小编就为大家分享一篇基于Python fminunc 的替代方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 使用python3 实现插入数据到mysql

    使用python3 实现插入数据到mysql

    今天小编就为大家分享一篇使用python3 实现插入数据到mysql,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python检查和同步本地时间(北京时间)的实现方法

    Python检查和同步本地时间(北京时间)的实现方法

    这篇文章主要介绍了Python检查和同步本地时间(北京时间)的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • python configparser中默认值的设定方式

    python configparser中默认值的设定方式

    这篇文章主要介绍了python configparser中默认值的设定方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python基于类路径字符串获取静态属性

    Python基于类路径字符串获取静态属性

    这篇文章主要介绍了Python基于类路径字符串获取静态属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Django ORM多对多查询方法(自定义第三张表&ManyToManyField)

    Django ORM多对多查询方法(自定义第三张表&ManyToManyField)

    今天小编就为大家分享一篇Django ORM多对多查询方法(自定义第三张表&ManyToManyField),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 将不规则的Python多维数组拉平到一维的方法实现

    将不规则的Python多维数组拉平到一维的方法实现

    这篇文章主要介绍了将不规则的Python多维数组拉平到一维的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论