赞
踩
Flask 是一个用 Python 编写的轻量级 Web 应用框架。它被设计为易于使用和扩展,使其成为构建简单网站到复杂的、动态的 web 应用程序的理想选择。以下是 Flask 的一些基本组件和概念:
Flask:框架本身,提供基本的功能来处理请求和响应。
Werkzeug:一个工具库,提供各种用于 Web 应用的工具,如多线程支持、测试客户端等。
Jinja2:一个模板引擎,用于渲染 HTML 页面。
路由:在 Flask 中,路由是 URL 规则和视图函数之间的映射。
使用 pip 安装 Flask:
pip install Flask
- from flask import Flask
-
- app = Flask(__name__)
-
- @app.route('/')
- def hello_world():
- return 'Hello, World!'
-
- if __name__ == '__main__':
- app.run(debug=True)
在这个例子中,我们创建了一个简单的 Flask 应用,它在根 URL (/
) 上提供了一个 hello_world
视图函数,返回字符串 'Hello, World!'。
保存上述代码到文件(例如 app.py
),然后在终端中运行:
flask run
或者直接使用 Python:
python app.py
默认情况下,应用将在 localhost:5000
上运行。
在 Flask 中,路由是定义 URL 端点和处理这些端点的 Python 函数的方式。例如:
- @app.route('/users/<username>')
- def show_user_profile(username):
- # 用户名通过 username 参数传入
- return 'User: %s' % username
Flask 使用 Jinja2 模板引擎来生成 HTML 页面:
- from flask import render_template
-
- @app.route('/users')
- def list_users():
- users = ['Alice', 'Bob', 'Charlie']
- return render_template('users.html', title='Users', users=users)
Flask 可以处理 HTML 表单,使用 request
对象来获取表单数据:
- from flask import request
-
- @app.route('/submit', methods=['POST'])
- def submit():
- if request.method == 'POST':
- username = request.form['username']
- # 处理其他表单数据
- return 'User: %s' % username
Flask 可以与多种数据库后端一起使用,通常使用 ORM(如 SQLAlchemy)来管理数据库操作:
- from flask_sqlalchemy import SQLAlchemy
-
- app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///mydatabase.db'
- db = SQLAlchemy(app)
-
- class User(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- username = db.Column(db.String(80), unique=True, nullable=False)
- # 定义其他字段和关系
-
- # 与数据库交互
- new_user = User(username='JohnDoe')
- db.session.add(new_user)
- db.session.commit()
Flask 的灵活性和易用性使其成为 Python Web 开发的流行选择。通过以上基础,你可以开始构建自己的 Flask Web 应用,并根据需要添加更多的功能和模块。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。