基础 满分 100 分

一. 情景导入

情景导入插图

场景:你刚刚入职“海经贸校园博客”研发部,担任 Python 初级开发助理。

项目背景:研发部决定使用轻量级的 Flask 框架来重构校园博客系统。你的带教导师给了你一个任务:在半天内搭建好开发环境,并让服务器成功“吐”出第一行欢迎语。

二、项目任务分解

任务序号

任务名称

任务一

初出茅庐——开发环境搭建与首个服务启动

任务二

栏目规划——动态路由与多路径映射

三. 分步任务实施

任务一:初出茅庐——开发环境搭建与首个服务启动

【导师与小白的对话】

导师与小白对话插图

小白:“导师,我已经安装好 Python 了,可以直接写代码了吗?”

导师:“别急。在职业开发中,‘环境一致性’是红线。你得先检查版本,然后在虚拟环境里精准安装 Flask。要是环境乱了,后期维护就是噩梦。去吧,先让浏览器显示出我们的实训欢迎语,证明你的‘地基’打稳了。”

二. 任务实施过程

1.环境审查与工程建立

(1)版本核验:打开终端输入 python --version,确保版本>=3.8(研发部统一标准)。

(2)工程初始化:在 PyCharm 中新建名为 HNJM_Blog_Project 的项目,并存放在C盘里已经建立好的flask课堂作业文件夹。

(3)目录规范:在项目根目录下手动创建 templates 文件夹(用于存放未来的 HTML 页面)。

2.虚拟环境配置

(1)框架安装:在 PyCharm 终端执行 pip install flask。

(2)依赖检查:执行 pip list 确认 Flask 及其核心依赖已成功进入你的“私人仓库”。

(3)编写“首个服务”逻辑

①主程序实现:创建 main.py,编写以下初始化代码:

from flask import Flask
app = Flask(__name__)
@app.route('/')def index():
    return "Hello Flask! 欢迎进入Web编程开发实训"
if __name__ == '__main__':
    app.run(debug=True)

③服务挂载:运行程序,确保控制台未出现报错。

④交付验证:访问 http://127.0.0.1:5000/,截图保存成功响应的界面。

任务二:栏目规划——动态路由与多路径映射

【导师与小白的对话】

导师与小白对话插图

小白:“导师,我们要为每个学生都写一个路由函数吗?全校上万人,那代码量也太恐怖了!”

导师:“哈哈,那样学校早破产了。职业开发讲究‘以一当十’。你得学会用‘动态参数’来捕获用户名。另外,为了兼容老用户的习惯,咱们得给首页多设几个入口。这就是我们要做的‘路由分发’。”

二. 任务实施过程

1.实现动态“个人空间”

(1)需求分析:利用路由占位符 <username> 捕获 URL 中的学生姓名。

(2)编码实施:在 main.py 中追加以下逻辑:

@app.route('/user/<username>')
def user_info(username):
    # 这里的 username 会自动接收 URL 中对应位置的内容
    return f"欢迎你,{username}!这是你的专属页面"

2.配置多路径映射(SEO 优化)

(1)需求分析:设置多个“马甲”路径,指向同一个首页函数。

(2)编码实施:使用装饰器叠加技术:

@app.route('/home')
@app.route('/index')
def home_page():
    return "首页 - 可通过/home或/index访问"

(3)系统集成测试

①路径 A 测试:访问 .../user/海经贸学生A,确认页面能正确打招呼。

②路径 B 测试:分别尝试 /home 和 /index,验证是否均能跳转至同一首页。

③鲁棒性验证:尝试不带参数访问 /user/(不输入名字),观察并记录系统反馈。

四、职业成果自查表

序号考核维度达成标准状态
1环境规范Python >=3.8 且 Flask 成功安装在虚拟环境
2代码规范app.py 结构完整,包含 if __name__ == '__main__':
3动态交互URL 中的参数能实时渲染到页面中,无乱码
4路由逻辑实现了“一函多路”,减少了冗余代码