PHP前端开发

用烧瓶点燃

百变鹏仔 1周前 (01-27) #Python
文章标签 烧瓶

入门指南:Flask Web 框架

Python 新手? 想快速上手创建第一个 Web 项目?Python 强大的功能能帮你构建各种应用,从自动化工具到 Web 应用。本文将带你循序渐进地学习 Flask 框架,完成安装和基本设置,开启你的第一个项目之旅。

Flask 简介

Flask 是一个用 Python 编写的轻量级 Web 应用框架。它提供 Web 开发所需的核心组件,避免不必要的复杂性,从而提升定制性和性能。 Flask 的简洁性使其成为初学者和追求灵活性的开发者的理想选择。

选择 Flask 的理由

了解了 Flask 的基本概念,让我们来看看初学者选择 Flask 的几个主要原因:

1. 轻量级和简洁:

Flask 作为微型框架,只提供必要的工具,避免冗余功能。这使其非常适合中小型项目。

2. 易于学习:

Flask 的设计简单易懂,非常适合初学者快速入门 Web 开发。它拥有完善的官方文档和丰富的学习资源。

3. 灵活性和可定制性:

Flask 允许你自由选择和组合各种库和扩展,从而实现高度定制化的开发流程,例如数据库集成、表单验证和用户认证等。

4. 内置开发服务器和调试器:

Flask 内置的开发服务器和调试器简化了测试和调试过程,开发者可以直接在浏览器中查看错误信息。

5. 理想的原型工具:

Flask 的轻量级特性使其成为构建原型和 MVP 的理想选择,可以快速验证你的想法。

Flask 快速上手

前提条件:

开始之前,请确保:

  1. 已安装 Python:运行 python --version 检查 Python 版本。如果没有安装,请访问 python.org 下载安装。

  2. 已安装 pip:pip 通常随 Python 一起安装,运行 pip --version 验证其安装。

  3. 代码编辑器:选择你喜欢的代码编辑器(例如 VS Code)。

  4. 终端或命令行:用于运行 Flask 应用。

Flask 设置步骤

  1. 创建项目目录:
mkdir flask_projectcd flask_project
  1. 创建虚拟环境:

虚拟环境隔离项目依赖。

python -m venv venv

激活虚拟环境:

(venv) 将显示在终端开头,表示环境已激活。

  1. 安装 Flask:
pip install Flask

验证安装:

python -c 'import flask; print(flask.__version__)'
  1. 创建基本 Flask 应用:

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

from flask import Flaskapp = Flask(__name__)@app.route('/')def home():    return "Hello, world!"if __name__ == '__main__':    app.run(debug=True)
  1. 运行 Flask 应用:

设置 FLASK_APP 环境变量:

运行开发服务器:

flask run

在浏览器中访问 http://127.0.0.1:5000/ 查看结果。

  1. 添加更多路由:

更新 app.py,添加更多路由:

@app.route('/about')def about():    return "About page"@app.route('/greet/<name>')def greet(name):    return f"Hello, {name.capitalize()}!"

重启服务器,访问不同的路由进行测试。

  1. 使用模板和静态文件:

Flask 使用 Jinja2 模板引擎渲染动态 HTML。

<!DOCTYPE html><html><head>    <title>Flask App</title></head><body>    <h1>Welcome, {{ name }}!</h1></body></html>
from flask import render_template@app.route('/welcome/<name>')def welcome(name):    return render_template('index.html', name=name)

重启服务器并访问 http://127.0.0.1:5000/welcome/YourName。

  1. 探索 Flask 扩展:

使用 pip 安装扩展,例如 flask-sqlalchemy。

希望这个指南能帮助你快速上手 Flask!