【Flask 系统教程 1】入门及配置

当你开始学习 Flask 时,了解如何进行基本的配置是非常重要的。Flask 是一个简单而灵活的 Python Web 框架,它允许你快速构建 Web 应用程序,并且易于学习。在这篇博客中,我将介绍如何从零开始进行 Flask 的基础配置,适合初学者阅读。

入门

安装 Flask

首先,你需要确保在你的开发环境中安装了 Flask。你可以通过使用 pip 包管理器来安装 Flask:

bash 复制代码
pip install Flask

第一个Flask应用

创建 Flask 应用

创建一个基本的 Flask 应用非常简单。只需创建一个 Python 文件,并导入 Flask 类。然后,实例化一个 Flask 对象即可:

python 复制代码
from flask import Flask

app = Flask(__name__)

创建路由

路由定义了应用程序中的 URL 和处理请求的函数之间的映射关系。在 Flask 中,你可以使用 @app.route 装饰器来定义路由。例如,要在根路径上定义一个简单的路由:

python 复制代码
@app.route('/')
def index():
    return 'Hello, Flask!'

运行应用

在你的 Flask 应用中添加一个启动代码,以便在本地运行应用。通常,你会在文件的末尾添加以下代码:

python 复制代码
if __name__ == '__main__':
    app.run(debug=True)

这将使应用在调试模式下运行,并在代码发生更改时自动重新加载。

创建模板

Flask 使用 Jinja2 模板引擎来渲染动态内容。你需要在 templates 文件夹中创建 HTML 模板文件。例如,创建一个名为 index.html 的模板文件:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My Flask App</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

在视图函数中渲染模板

最后,你需要在视图函数中渲染模板并传递数据。在这个示例中,我们将在根路径的视图函数中渲染 index.html 模板,并传递一个消息:

python 复制代码
from flask import render_template

@app.route('/')
def index():
    message = 'Hello, Flask!'
    return render_template('index.html', message=message)

通过以上步骤,你已经完成了一个基本的 Flask 应用程序的配置和设置。现在你可以在本地运行应用,打开浏览器访问 http://127.0.0.1:5000/,你将会看到你在模板中定义的消息。

配置

修改运行端口

python 复制代码
from flask import Flask

# 创建Flask应用
app = Flask(__name__)

# 定义路由及其处理函数
@app.route('/')  # 根路由
def index():
    return 'Hello, world!'

# 运行Flask应用并指定端口
if __name__ == '__main__':
    app.run(debug=True, port=5000)  # 在这里指定端口号

启动方式

上面介绍了直接运行py文件进行服务的启动,下面介绍其他的启动方法

  • 终端启动
python 复制代码
$ export FLASK_APP=helloworld
$ flask run
* Running on http://127.0.0.1:5000/

需要注意文件路径要在 app.py所在目录下,并且文件名必须是 app.py

启动参数

参数 使用示例 作用
--reload / --no-reload flask run --reload 热部署
--debugger / --no-debugger flask run --debugger 调试模式 (这个才是热部署)
--with-threads / --without-threads 多线程
--extra-files PATH flask run --extra-files static/;templates/;config/settings.ini 增加热部署监听目录
--exclude-patterns PATH flask run --exclude-patterns "*.log" "config/*" 增加热部署不监听的目录
--help 获取帮助

设置配置

python 复制代码
# 通过修改配置参数
app.config.update(DEBUG=True)
app.config['DEBUG'] = True

# 通过mapping加载
app.config.from_mapping({'DEBUG':True})

# 通过配置对象设置
class Config:
    DEBUG = True
app.config.from_object(config)

# 通过配置文件设置
app.config.from_pyfile('config.py')
app.config.from_json('config.json')

通过以上方法可以在Python 文件中进行配置设置

  • 格式

config.py
DEBUG = True

config.json
{"DEBUG":"True"}

相关推荐
脚本自动化开发4 小时前
玩影之刃零,两张四千元级显卡怎么挑
后端
M--Y6 小时前
LangGraph 工作流模式
开发语言·javascript·python·langchain·大模型·llm·langgraph
岁月宁静6 小时前
DeepSeek Harness 实战与架构解析:让 Agent 从“会聊”到“能交付”
人工智能·python·agent
LiaoWL1237 小时前
NumPy 入门实战(二):向量化与余弦相似度——从 ndarray 到 Embedding
python·numpy·embedding
forest_097 小时前
多 Agent 协作第二课:交叉验证≠独立验证
人工智能·python·算法·机器学习·prompt·agi
用户47949283569157 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
努力的小雨8 小时前
别再复制日志给AI了!我让Codex自己去观测云查报错
后端
afumu10 小时前
Go 写一个只监听 127.0.0.1 的控制服务:鉴权、白名单、危险命令拦截
后端·安全·go
databook10 小时前
时间序列数据,先拆规律还是先查异常
python·数据挖掘·数据分析
师夷长技以自愈11 小时前
手搓 AI Agent 第 8 篇:从手写循环到画流程图——LangGraph 封装
人工智能·python