Flask框架搭建

1、安装Flask

打开终端运行以下命令:

复制代码
pip install Flask

2、创建项目目录

在Windows上:

复制代码
venv\Scripts\activate

执行

3、创建 app.py 文件

可以在windows终端上创建app.py文件

(1)终端中创建

使用echo命令
复制代码
echo "from flask import Flask, render_template" > app.py
echo "app = Flask(__name__)" >> app.py
echo "" >> app.py
echo "@app.route('/')" >> app.py
echo "def home():" >> app.py
echo "    return 'Hello, Flask!'" >> app.py
echo "" >> app.py
echo "@app.route('/hello/<name>')" >> app.py
echo "def hello(name):" >> app.py
echo "    return render_template('hello.html', name=name)" >> app.py
echo "" >> app.py
echo "if __name__ == '__main__':" >> app.py
echo "    app.run(debug=True)" >> app.py

这段代码刚开始没这么复杂,主要先创建一个Flask项目再添加模块并使用 render_template 来渲染模板:

使用 cat 命令
复制代码
cat <<EOF > app.py
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, Flask!'

@app.route('/hello/<name>')
def hello(name):
    return render_template('hello.html', name=name)

if __name__ == '__main__':
    app.run(debug=True)
EOF
使用 printf 命令
复制代码
printf "from flask import Flask, render_template\n" > app.py
printf "app = Flask(__name__)\n" >> app.py
printf "\n" >> app.py
printf "@app.route('/')\n" >> app.py
printf "def home():\n" >> app.py
printf "    return 'Hello, Flask!'\n" >> app.py
printf "\n" >> app.py
printf "@app.route('/hello/<name>')\n" >> app.py
printf "def hello(name):\n" >> app.py
printf "    return render_template('hello.html', name=name)\n" >> app.py
printf "\n" >> app.py
printf "if __name__ == '__main__':\n" >> app.py
printf "    app.run(debug=True)\n" >> app.py

虚拟环境可以帮助我们隔离项目依赖,避免与系统Python环境冲突。所以可以在项目根目录中创建一个虚拟环境:

复制代码
python -m venv venv

(2)激活虚拟环境

在Linux或macOS上:

复制代码
source venv/bin/activate

在Windows上:

复制代码
venv\Scripts\activate

(3)手动创建文件并写入代码

也可以使用记事本先编辑过后另存

然后另存为,找到C盘下的 my_flask_project 目录,文件命名为 app.py ,保存类型为所有文件

点击保存

这里定义了两个路由,先说一下路由:

所谓路由,就是处理请求url和函数之间关系的程序,一个Web应用不同的路径会有不同的处理函数,当我们请求应用时,路由会根据请求的 url 找到对应处理函数。

基础路由定义

使用route()装饰器来把函数绑定到URL:

复制代码
@app.route('/')
def home():
    return 'Hello, Flask!'

动态url

Flask 支持在 url 中添加变量部分,使用<变量名>的形式表示,Flask 处理请求时会把变量传入视图函数,所以可以在试图函数内获取该变量的值。

复制代码
@app.route('/hello/<name>')
def hello(name):
    return render_template('hello.html', name=name)

4、创建templates文件夹

代码:

复制代码
HTMl

<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

打开记事本,输入代码

另存为 my_flask_project 目录下的 templates 目录,命名为 hello.html ,保存类型也是所有文件

保存

5、运行Flask应用

然后打开终端运行以下命令启动Flask服务器

复制代码
python app.py

打开浏览器,访问 http://127.0.0.1:5000/ ,可以看到"Hello, Flask!"的页面信息;

访问 http://127.0.0.1:5000/hello/YourName 会看到一个动态生成的页面,显示"Hello, YourName!"。

6、最终项目目录

最终,创建的项目目录结构如下:

复制代码
my_flask_project/
│
├── app.py                # 主应用文件
├── templates/            # 存放HTML模板文件
│   └── hello.html        # 示例模板文件
├── venv/                 # 虚拟环境目录(可选)
相关推荐
2601_9628857211 分钟前
vnpy 用什么数据源?A 股历史行情接入与 BarData 映射
python
日日大王学编程12 分钟前
deerflow-memory-design-blog
python·langchain·开源
愚农搬码18 分钟前
企业为什么需要表单引擎,而不是继续手写 Vue 表单?
后端
孟陬26 分钟前
技术周刊#158:ChatGPT 智能 UI 底层原理、个人智能体协议正式发布、一条 POST 请求即可锁死 Next.js 服务
人工智能·后端·全栈
小蒜学长41 分钟前
基于SpringBoot+Vue的云南地区扶贫助农系统的设计与实现(代码+数据库+LW)
java·vue.js·spring boot·后端·乡村振兴
码剑客1 小时前
Gin+GORM+Redis 项目开发常见性能坑汇总(Go后端避坑指南)
redis·后端·golang·gin
砚底藏山河1 小时前
量化回测可复现流水线CI化
java·python·ci/cd·金融
磁场转动100万匹1 小时前
道路巡检系统检测案例:YOLOv5 + Flask + PyQt 全栈实现
python·yolo
java_nnnn1 小时前
Spring Boot 配置文件详解:从基础语法到 YAML 配置
spring boot·后端·github
SimonKing1 小时前
素笺( local-notes)全面优化,新增功能体验不一样的笔记
java·后端·程序员