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

相关推荐
m0_3776182314 分钟前
Redis怎样应对大规模集群的重启风暴_分批次重启节点并等待集群状态恢复绿灯后再继续操作
jvm·数据库·python
FreeCultureBoy27 分钟前
用 jenv 管理 Java 环境:从安装 JDK 到多版本切换
后端
心态与习惯30 分钟前
Julia 初探,及与 C++,Java,Python 的比较
java·c++·python·julia·比较
IT_陈寒30 分钟前
Vite的热更新突然失效,原来是因为这个配置
前端·人工智能·后端
考虑考虑32 分钟前
SQL语句中的order by可能造成时间重复
数据库·后端·mysql
ZC跨境爬虫1 小时前
3D 地球卫星轨道可视化平台开发 Day8(分步渲染200颗卫星+ 前端分页控制)
前端·python·3d·重构·html
zopple1 小时前
ThinkPHP5.x与3.x核心差异解析
java·python·php
2401_835956811 小时前
Golang怎么写基准测试benchmark_Golang基准测试教程【完整】
jvm·数据库·python
Pkmer1 小时前
古法编程: 代理模式
后端·设计模式
文心快码BaiduComate1 小时前
Comate搭载Kimi K2.6,长程13h!
前端·后端·程序员