【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"}

相关推荐
高级盘丝洞3 分钟前
Spring Boot 使用 WebServiceTemplate 调用 WebService 完整教程
java·spring boot·后端
子夜四时歌1 小时前
Python详细安装与环境搭建
开发语言·python
Jinkxs1 小时前
SkyWalking - Python 应用追踪:基于 skywalking-python 的埋点
开发语言·python·skywalking
大头博士先生1 小时前
【3月考】二级Python最新真题及满分代码合集(基本操作题部分)
开发语言·python
白狐_7981 小时前
【实战架构】一人抵一家设计公司:基于 ComfyUI + Python RPA + Photoshop 的全自动化工业制图工作流
python·photoshop·rpa
shengli7221 小时前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
xcLeigh1 小时前
IoTDB Python原生接口全攻略:从基础读写到高级实战
开发语言·数据库·python·api·iotdb·原生接口·读写数据
User_芊芊君子1 小时前
文科生封神!Python+AI 零门槛变现:3 天造 App,指令即收入(附脉脉 AI 沙龙干货)
开发语言·人工智能·python
MeowNeko1 小时前
为什么说程序员重命名时电脑不要带中文?记一次python manage.py runserver时UnicodeDecodeError的原因与解决方案
人工智能·python·chatgpt·中间件·django·utf8
是Dream呀1 小时前
2025年中秋月亮只有94.91%圆?Python告诉你真相
开发语言·python·中秋节