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

相关推荐
Ven%10 分钟前
如何修改pip全局缓存位置和全局安装包存放路径
人工智能·python·深度学习·缓存·自然语言处理·pip
枫欢12 分钟前
将现有环境192.168.1.100中的svn迁移至新服务器192.168.1.4;
服务器·python·svn
测试杂货铺38 分钟前
UI自动化测试实战实例
自动化测试·软件测试·python·selenium·测试工具·测试用例·pytest
余~~185381628001 小时前
NFC 碰一碰发视频源码搭建技术详解,支持OEM
开发语言·人工智能·python·音视频
苏三有春1 小时前
PyQt实战——使用python提取JSON数据(十)
python·json·pyqt
allnlei2 小时前
自定义 Celery的logging模块
python·celery
帅逼码农2 小时前
python爬虫代码
开发语言·爬虫·python·安全架构
跟德姆(dom)一起学AI2 小时前
0基础跟德姆(dom)一起学AI 自然语言处理05-文本特征处理
人工智能·python·深度学习·自然语言处理
爪哇抓挖_Java2 小时前
M系列芯片切换镜像源并安装 openJDK17
前端·chrome·python
AI人H哥会Java2 小时前
【Spring】控制反转(IoC)与依赖注入(DI)—IoC容器在系统中的位置
java·开发语言·spring boot·后端·spring