初识Flask:Python轻量级Web框架入门教程

Flask是一个用Python编写的轻量级Web应用框架。由于其"微"性质,Flask在提供核心服务的同时,仍然提供了许多扩展的可能性。在这篇文章中,我们将从最基础开始,学习如何使用Flask构建一个Web应用。

一、安装与初次启动

首先,你需要安装Flask库。使用pip进行安装是最简单的方式:

python 复制代码
pip install flask

接着,我们来编写一个最基础的Flask应用,只有一个路由和对应的视图函数:

python 复制代码
from flask import Flask

app = Flask(__name__)

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

if __name__ == "__main__":
    app.run()

二、路由和视图函数

在Flask中,路由是URL到Python函数的映射。这些函数被称为视图函数。视图函数返回的响应可以是HTML(渲染模板)、重定向、404错误等。

python 复制代码
@app.route('/')
def home():
    return "Home Page"

@app.route('/about')
def about():
    return "About Page"

三、模板渲染

Flask使用Jinja2模板引擎。你可以在模板中使用变量、控制结构和继承等功能。

python 复制代码
from flask import render_template

@app.route('/hello/<name>')
def hello(name):
    return render_template('hello.html', name=name)

在上述代码中,'hello.html'就是一个模板,需要放在应用目录下的templates文件夹内。

四、请求处理

在视图函数中,你可以通过request对象来访问请求数据。

python 复制代码
from flask import request

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        return do_the_login()
    else:
        return show_the_login_form()

五、静态文件

默认情况下,Flask在应用的/static目录中寻找静态文件。

html 复制代码
url_for('static', filename='style.css')

以上,我们介绍了如何使用Flask构建一个简单的Web应用,包括如何定义路由和视图函数、如何渲染模板、如何处理请求、以及如何使用静态文件。希望这篇文章能够帮助初学者理解Flask并开始使用这个强大的Web框架。

相关推荐
Carl_奕然3 分钟前
【智能体】Loop 的四种设计模式之:Hill Climbing Loop(2026 最新版)
人工智能·python·设计模式
大圣编蚕5 分钟前
Spring AOP 失效排查:从原理到实战的完整指南
java·后端·spring
AINative软件工程8 分钟前
LLM 多租户 Prompt Isolation 工程实践:为 100 个租户定制 Prompt,但别让它们互相污染
后端·llm
EatFan13 分钟前
MCP 从概念到落地:Java(Spring AI Alibaba)与 .NET 双栈接入实操对比
java·人工智能·后端·spring·.net·java后端·mcp
专业程序开发源13 分钟前
springboot全民健身和饮食健康管理系统29158-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
在世修行40 分钟前
干货:业务标识 vs 自动判据
python
zwd200542 分钟前
Manim move_to 和 shift 用法详解:相对位移、绝对落点与 aligned_edge(0.21.0 实测)
python·动画·可视化·shift·manim·数学动画·move_to
梦帮科技1 小时前
【3.0修订版】 RNS 代币架构:ERC20 五件套扩展与六钱包分配
数据结构·后端·算法·架构·node.js·区块链·php
IT_陈寒1 小时前
SpringBoot自动配置的坑:你以为的捷径可能是弯路
前端·人工智能·后端
“AI国潮设计-小江”1 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞戚风蛋糕”质感,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc