当前位置: 首页 > article >正文

Flask的知识点总结

以下是一篇关于 Flask 知识点的博文总结,包含代码示例,涵盖了 Flask 的主要知识点:


Flask 知识点全面总结

Flask 是一个用 Python 编写的轻量级 Web 应用框架,以其简洁和灵活性而著称,非常适合开发小型至中型的 Web 应用。以下是 Flask 的详细知识点总结:

一、安装与启动

1. 安装 Flask

使用 pip 安装 Flask:

pip install Flask

2. 创建 Flask 应用

创建一个简单的 Flask 应用:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, Flask!'

if __name__ == '__main__':
    app.run(debug=True)
  • Flask(__name__):创建一个 Flask 应用实例。

  • @app.route('/'):定义路由,将 URL / 映射到 home 函数。

  • app.run(debug=True):启动应用,开启调试模式。

3. 运行应用

使用 flask runapp.run() 命令启动服务器。

二、路由

1. 基本路由

使用 @app.route() 装饰器定义路由:

@app.route('/about')
def about():
    return 'This is the About page.'

2. 动态路由

支持变量规则,例如:

@app.route('/user/<username>')
def show_user_profile(username):
    return f'User {username}'

3. HTTP 方法

支持多种 HTTP 方法,例如:

@app.route('/submit', methods=['GET', 'POST'])
def submit():
    if request.method == 'POST':
        name = request.form['name']
        return f'Submitted name: {name}'
    else:
        return 'Please submit the form.'

三、请求与响应

1. 请求对象

通过 request 对象访问请求数据:

from flask import request

@app.route('/submit', methods=['POST'])
def submit():
    name = request.form['name']
    return f'Submitted name: {name}'

2. 响应对象

视图函数返回值自动转换为响应对象,也可以手动创建响应对象:

from flask import make_response

@app.route('/set_cookie')
def set_cookie():
    resp = make_response('Set cookie')
    resp.set_cookie('username', 'the_username')
    return resp

四、模板渲染

1. 使用 render_template()

Flask 集成 Jinja2 模板引擎,用于生成动态 HTML 页面:

from flask import render_template

@app.route('/template')
def template():
    name = 'Alice'
    return render_template('hello.html', name=name)

hello.html 模板文件示例:

<!doctype html>
<html>
<head><title>Hello</title></head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

五、会话管理

1. 使用 session 对象

使用 session 对象跨请求存储信息:

from flask import session

@app.route('/login', methods=['POST'])
def login():
    session['username'] = request.form['username']
    return 'Logged in'

六、蓝图 (Blueprint)

1. 创建蓝图

使用蓝图实现应用的模块化:

from flask import Blueprint

bp = Blueprint('main', __name__)

@bp.route('/')
def index():
    return 'Main page'

2. 注册蓝图

在应用中注册蓝图:

from flask import Flask
from blueprint import bp

app = Flask(__name__)
app.register_blueprint(bp)

七、静态文件

通过 url_for('static', filename='...') 提供静态文件:

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}">

八、错误处理

1. 注册错误处理器

注册错误处理器以自定义错误页面:

@app.errorhandler(404)
def page_not_found(error):
    return render_template('404.html'), 404

九、安全性

1. 自动转义 HTML

Flask 自动转义 HTML 以防止 XSS 攻击。

2. 手动转义

使用 escape() 函数手动转义用户输入:

from flask import escape

@app.route('/escape')
def escape_example():
    text = request.args.get('text')
    return f'Escaped text: {escape(text)}'

十、部署

可以部署在外部服务器上,使用 --host=0.0.0.0 选项:

flask run --host=0.0.0.0

十一、调试模式

使用 --debug 选项启动应用,提供错误调试信息:

bash复制

flask run --debug

以上是 Flask 的主要知识点总结,希望对你有所帮助。Flask 的灵活性和简洁性使其成为开发中小型 Web 应用的理想选择。


http://www.kler.cn/a/552751.html

相关文章:

  • VScode运行C语言提示“#Include错误,无法打开源文件stdio.h”
  • Vue中事件名的命名规范
  • 打开多个chrome历史记录
  • IDEA中集成Maven
  • 一问读懂AI工具—DeepSeek、Kimi、豆包、文心一言、通义千问
  • 【C++】结构体排序+sort(),cmp()参数写法口诀
  • 社群共建与共享:以十点读书会为例探讨开源AI智能名片2+1链动模式S2B2C商城小程序的应用
  • 从C语言源码到可执行文件的生成过程通常包括
  • List<Map<String, Object>> 如何对某个字段求和
  • 25/2/18 <算法笔记> ByteTrack
  • 阿里云前端自动化部署流程指南
  • 《DeepSeek赋能工业互联网:解锁数据深度分析新姿势》
  • 【Elasticsearch】分页查询
  • Pycharm打开的jupyter notebook无法在pycharm中关闭怎么解决
  • el-table树状表格,默认展开第一个节点的每一层
  • 2024亚马逊数据分析!
  • lambda表达式thenComparing使用示例
  • Ubuntu 下创建具有 root 权限用户
  • Elasticsearch AI Assistant 集成 DeepSeek,1分钟搭建智能运维助手
  • 在nodejs中使用RabbitMQ(七)实现生产者确认