基础概念
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通过请求体传输,适合敏感数据。