二、学习 Flask之二
轻量级 Web 框架,它简单易用、灵活性强,非常适合初学者入门和快速开发小型 Web 应用。本文将介绍 Flask 的安装和常用的配置。
安装 Flask
安装 Flask 只需几个简单的步骤:
- 打开命令行终端(Command Prompt)或终端(Terminal)。
- 使用 pip 包管理工具执行以下命令进行 Flask 的安装:
pip install flask
这将自动下载并安装 Flask 及其相关依赖。
创建 Flask 应用程序
在安装完成 Flask 后,我们可以创建一个简单的 Flask 应用程序来验证安装是否成功。按照以下步骤创建一个 Hello World 的 Flask 应用:
创建一个新的 Python 文件,例如 app.py。
在文件中导入 Flask 模块并创建一个 Flask 应用实例:
from flask import Flask app = Flask(__name__)
这里的 name 是 Python 中的一个特殊变量,表示当前模块的名称。
定义一个路由,用于处理根路径的请求并返回 Hello World 的字符串:
@app.route('/') def hello(): return 'Hello, World!'
在文件的末尾添加以下代码来运行应用:
if __name__ == '__main__': app.run()
保存文件并在命令行终端中执行以下命令启动应用:
python app.py
如果一切正常,你将看到类似以下输出:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
在浏览器中访问 http://127.0.0.1:5000/,你将看到显示 “Hello, World!” 的页面。
常用的 Flask 配置
Flask 提供了一些常用的配置选项,可以根据应用的需求进行配置。以下是一些常见的配置选项示例:
app = Flask(__name__) # 设置调试模式 app.debug = True # 设置密钥 app.secret_key = 'your_secret_key' # 配置数据库连接字符串 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db' # 配置数据库追踪修改 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # 配置静态文件路径 app.static_folder = 'static' # 配置文件上传路径 app.config['UPLOAD_FOLDER'] = '/path/to/upload/folder' # 配置最大上传文件大小 app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # 16MB # 配置邮箱发送参数 app.config['MAIL_SERVER'] = 'smtp.example.com' app.config['MAIL_PORT'] = 587 app.config['MAIL_USE_TLS'] = True app.config['MAIL_USERNAME'] = 'your_email@example.com' app.config['MAIL_PASSWORD'] = 'your_email_password' # 配置日志记录 import logging from logging.handlers import RotatingFileHandler handler = RotatingFileHandler('app.log', maxBytes=1024 * 1024, backupCount=5) handler.setLevel(logging.INFO) app.logger.addHandler(handler) # 配置缓存 app.config['CACHE_TYPE'] = 'simple' # 可选项:'null', 'simple', 'memcached', 'redis', 等 # 配置国际化 from flask_babel import Babel babel = Babel(app) app.config['BABEL_DEFAULT_LOCALE'] = 'en' # 默认语言 app.config['BABEL_SUPPORTED_LOCALES'] = ['en', 'fr', 'es'] # 支持的语言列表 # 配置安全性 app.config['SESSION_COOKIE_SECURE'] = True app.config['SESSION_COOKIE_HTTPONLY'] = True app.config['SESSION_COOKIE_SAMESITE'] = 'Lax' app.config['CSRF_ENABLED'] = True app.config['CSRF_SESSION_KEY'] = 'your_csrf_session_key' # 配置 API 密钥 app.config['API_KEY'] = 'your_api_key' # 配置数据库连接池大小 app.config['SQLALCHEMY_POOL_SIZE'] = 10 # 配置跨域资源共享 (CORS) from flask_cors import CORS CORS(app)
这些配置选项包括了 API 密钥、数据库连接池大小、跨域资源共享 (CORS) 等方面的设置。你可以根据你的实际需求,在 Flask 应用中选择并配置这些选项。