关于Flask框架30道面试题及解析

发布于:2025-03-22 ⋅ 阅读:(42) ⋅ 点赞:(0)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


基础概念

1. 什么是Flask?其核心特性是什么?

  • Flask是一个轻量级WSGI Web框架,核心特性包括内置开发服务器、路由系统、Jinja2模板引擎、基于Werkzeug的WSGI工具集,以及通过扩展实现功能模块化。

2. Flask和Django的主要区别?

  • Django是“全栈式”框架,自带ORM、Admin等功能;Flask更轻量,需通过扩展(如Flask-SQLAlchemy)实现同类功能,适合小型项目或需高度定制的场景。

3. 解释Flask中的“路由”概念。如何定义动态路由?

  • 路由将URL映射到处理函数。动态路由通过<variable>定义,例如:
@app.route('/user/<username>')  
def show_user(username):  
    return f'User: {
     username}'

核心组件

4. Flask的请求上下文(Request Context)和应用上下文(Application Context)有什么区别?

  • 请求上下文封装了请求相关信息(如request对象),而应用上下文封装了应用全局状态(如current_app)。请求上下文生命周期短,应用上下文随应用启动而存在。

5. 如何访问请求参数?POST和GET方法的区别?

  • 通过request.args获取GET参数,request.form获取POST参数。GET参数在URL中可见,POST通过请求体传输,适合敏感数据。

6. Jinja2模板引擎的作用是什么?如何传递变量到模板?


    网站公告

    今日签到

    点亮在社区的每一天
    去签到