从零开始搭建 flask 博客实验(常见疑问)

🧩 一、基础层(确认你懂项目结构)

这些是最常见、必问的问题👇

🧠 老师可能问 ✅ 答题思路
1. 你这个项目是怎么启动的?入口文件是哪一个? 回答:程序入口是 myblog.py,其中 from app import app,然后执行 app.run()。Flask 从这里启动整个应用。
2. Flask 应用的核心文件有哪些?分别负责什么? 回答: ① __init__.py 负责创建 app 对象、初始化数据库。 ② routes.py 定义路由和视图函数。 ③ models.py 定义数据库模型。 ④ forms.py 定义表单。 ⑤ templates/ 存放前端页面。
3. 你的数据库是怎么连接的? 回答:在 config.py 里定义 SQLALCHEMY_DATABASE_URI__init__.py 通过 SQLAlchemy(app) 建立连接。
4. 模板文件是怎么工作的? 回答:模板使用 Jinja2 语法。页面通过 {% extends 'base.html' %} 继承基本布局,用 {% block content %} 填充内容。
5. 你的数据库模型(models)里有哪些表? 回答:User 表(用户信息),PostNote 表(文章/笔记),两者通过外键关联。
6. 静态文件和模板文件有什么区别? 回答:templates 是动态渲染 HTML(带变量);static 是纯静态资源,比如图片、CSS、JS。

🧠 二、理解层(看你是否真正明白原理)

这些问题用于考察你是否理解 Flask 的运行机制

🧠 老师可能问 ✅ 答题思路
7. 什么是"路由"? 回答:路由就是 URL 到函数的映射,比如访问 /user/<username> 时会调用 user() 视图函数。
8. Flask 是如何实现用户登录状态的? 回答:使用 flask_login 模块。登录成功后调用 login_user(),框架会在 session 中记录用户 ID;每次请求通过 current_user 获取用户状态。
9. 你项目中是如何实现用户资料页的? 回答:路由 /user/<username>,查询数据库中该用户信息,传递给模板 user.html 渲染显示。
10. 数据库迁移是怎么做的? 回答:用 Flask-Migrate。执行 flask db migrate 生成迁移脚本,再用 flask db upgrade 更新数据库结构。
11. Flask 怎么和 HTML 页面交互的? 回答:通过 render_template() 传递变量。后端函数把数据打包传给模板,模板用 {``{ 变量名 }} 渲染。

🚀 三、进阶层(思考题 / 扩展性)

老师喜欢看学生有没有深入思考👇

🧠 老师可能问 ✅ 答题思路
12. 如果你要增加"文章评论"功能,你会怎么设计? 回答:在数据库中增加 Comment 表,外键关联 PostUser,再写对应的表单、路由和模板。
13. 登录状态是怎么保持的?Session 存哪? 回答:Flask 把 session 保存在浏览器的 Cookie 中,用 SECRET_KEY 进行签名验证。
14. Flask 与 Django 有什么区别? 回答:Flask 是轻量框架,更灵活、需要自己选择扩展;Django 是全家桶框架,功能更全但相对重。
15. 如果部署上线,你会怎么做? 回答:可以用 Gunicorn + Nginx 部署,也可以用 Docker 打包后放到云服务器(如阿里云)。
16. 你的项目有哪些可以改进的地方? 回答:比如可以加入分页、头像上传、富文本编辑器、RESTful API、前后端分离等。
相关推荐
不能放弃治疗1 小时前
单 Agent 实现模式
后端
兵慌码乱2 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
IT_陈寒3 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter4 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
luckdewei5 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
fliter5 小时前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪5 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter5 小时前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
森蓝情丶6 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
JensCS猿6 小时前
从 Spring Boot 回看 SSM 框架:手动挡与自动挡的驾驶哲学
后端