当你开始学习 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"}