# 第一课 复习+答疑
> 本节课目标:成功搭建虚拟环境,跑通 Hello Flask,理解基础代码含义
## 回顾操作清单
1. 新建项目文件夹 `flask-demo`,cd 进入目录
2. 创建虚拟环境
```bash
# Mac/Linux
python3 -m venv venv
# Windows
python -m venv venv
```
3. 激活虚拟环境
```bash
# Mac/Linux
source venv/bin/activate
# Windows cmd
venv\Scripts\activate
# Windows PowerShell
venv\Scripts\Activate.ps1
```
激活成功标志:终端前缀出现 `(venv)`
4. 安装 Flask
```bash
pip install flask
```
5. 创建 `app.py`,写入代码
```python
# 导入Flask类
from flask import Flask
# 创建Flask应用实例
app = Flask(__name__)
# 路由装饰器:访问 / 路径时触发 index 函数
@app.route('/')
def index():
return "Hello Flask! 我的第一个网页"
# 程序入口,只有直接运行本文件才执行
if __name__ == '__main__':
# debug=True 开发调试模式,代码修改自动重启
app.run(debug=True)
```
6. 启动服务
```bash
python app.py
```
浏览器访问:`[
## 重点代码逐行讲解
```python
from flask import Flask
```
导入 Flask 核心类,Flask 是一个Web应用框架。
```python
app = Flask(__name__)
```
实例化应用;`__name__` 是Python内置变量,代表当前文件所在模块名,Flask靠它找到静态文件、模板目录。
```python
@app.route('/')
def index():
return "Hello Flask! 我的第一个网页"
```
`@app.route()` 是**装饰器**,作用:把URL地址 `/` 和函数 `index` 绑定。
用户浏览器访问 `/`,Flask自动执行index函数,return的内容直接返回给浏览器展示。
```python
if __name__ == '__main__':
app.run(debug=True)
```
- `if __name__ == '__main__'`:当直接运行 `app.py` 才启动服务;如果这个文件被别的代码导入,不会启动web服务。
- `app.run()`:启动Flask自带开发服务器,**只能用于开发,生产环境不能用**。
- `debug=True`:
✅ 修改代码自动重启服务
✅ 网页直接展示详细报错堆栈
❗ 上线一定要关掉 debug,存在安全漏洞
## 常见踩坑
1. 忘记激活虚拟环境,pip安装包装到全局环境
2. 端口5000被占用:`app.run(debug=True, port=5001)` 修改端口
3. PowerShell执行脚本报错:管理员执行 `Set-ExecutionPolicy RemoteSigned`
4. 访问不到:确认是 `127.0.0.1:5000`,不要直接打开本地app.py文件
你可以动手运行代码,有报错直接贴出来。
完成后回复 **下一步**,进入【路由与URL传参】。
文章回复
0 条公开回复