PythonWeb开发入门教程_Flask快速构建Web应用
技术百科
舞夢輝影
发布时间:2025-12-31
浏览: 次 Flask是轻量灵活的Python Web框架,适合初学者与中小型项目;支持URL参数、查询参数、表单及JSON数据处理;可通过Jinja2渲染模板并管理静态文件;内置session实现登录状态控制。
Flask 是一个轻量、灵活的 Python Web 框架,适合初学者快速上手,也足够强大支撑中小型项目。它不强制约定目录结构或数据库方案,让你专注
逻辑本身,而不是被框架规则牵着走。
安装与第一个应用
用 pip 安装最简单:
pip install flask
新建 app.py,写入以下代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)
运行 python app.py,访问 http://127.0.0.1:5000 就能看到响应。debug=True 启用调试模式,修改代码后自动重载,错误页面还带交互式调试器。
处理 URL 参数和表单数据
Flask 通过装饰器灵活接收不同类型的请求数据:
-
URL 路径参数:用
@app.route('/user/,函数加参数') username即可获取 -
查询参数(?key=value):用
request.args.get('key') -
POST 表单数据:用
request.form.get('field_name'),需确保 HTML 表单 method="post" -
JSON 请求体:用
request.get_json(),记得设置请求头Content-Type: application/json
渲染模板与静态文件
把 HTML 交给 Flask 渲染,避免字符串拼接。按约定创建目录:
your_project/
app.py
templates/
index.html
static/
style.css
在 index.html 中可用 Jinja2 语法插值或循环:
Welcome, {{ name }}!
- {{ item }}
{% for item in items %}
{% endfor %}
视图中调用:render_template('index.html', name='Alice', items=['a', 'b'])。CSS、JS 等静态资源统一放在 static 目录,模板里用 {{ url_for('static', filename='style.css') }} 引用。
简单用户登录示例(含会话管理)
Flask 自带 session 支持,需设置 secret_key 才能加密签名:
app.secret_key = 'your-secret-key-here' # 开发时可随机生成
模拟登录逻辑:
- GET 请求显示登录表单
- POST 提交后校验用户名密码(实际项目请用哈希+盐值存储)
- 验证成功则写入
session['user'] = username - 后续页面检查
if 'user' in session:控制访问权限
退出登录只需 session.pop('user', None)。
# ai
# python
# app
# css
# js
# json
# html
# session
# 会话管理
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win10如何更改开机密码_Windows10登录
- Windows10如何更改计算机工作组_Win10
- 如何使用Golang实现负载均衡_分发请求到多个服
- Win11怎么连接投影仪_Win11多显示器投屏设
- Windows怎样拦截QQ浏览器广告_Window
- 如何在Golang中实现CI/CD流水线自动化测试
- 如何使用Golang实现RPC序列化与反序列化_G
- Win11无法拖拽文件到任务栏怎么办_Win11开
- SAX解析器是什么,它与DOM在处理大型XML文件
- Win11怎么开启游戏模式_Win11优化游戏帧数
- php485返回空数组怎么回事_php485数据接
- 如何理解Go指针和内存分配关系_Go Pointe
- php中常量能用::访问吗_类常量与作用域操作符使
- 如何在Golang中使用time处理时间_Gola
- C++友元类使用场景_C++类间协作设计方式讲解
- PyTorch DDP 多进程训练在 Kaggle
- 如何使用Golang捕获测试日志_Golang t
- Windows 11无法安全删除U盘提示设备正在使
- Win11如何设置环境变量 Win11添加和修改系
- Win11蓝牙开关不见了怎么办_Win11蓝牙驱动
- Windows笔记本无法进入睡眠模式怎么办?(电源
- Win11如何更改用户账户文件夹名称 Win11修
- XSLT怎么生成动态的HTML属性名和标签名
- Windows10电脑怎么设置防火墙出站规则_Wi
- MAC怎么解压RAR格式文件_MAC第三方解压工具
- 跨文件调用类方法怎么用_php作用域操作符与自动加
- Win11怎么更改默认打开方式_Win11关联文件
- c++如何实现多态性_c++ 虚函数表原理与动态绑
- 如何在网页无标准表格标签时高效提取结构化数据
- Windows10电脑怎么查看硬盘通电时间_Win
- 新手学PHP架构总混淆概念咋办_重点梳理【教程】
- Win10电脑怎么设置IP地址_Windows10
- Mac怎么开启“任何来源”_Mac安装未签名应用的
- c++中的CRTP是什么 c++奇异递归模板模式【
- Mac如何修改Hosts文件?(本地开发与屏蔽网站
- 如何在Golang中解压文件_Golang com
- Win11怎么更改计算机名_Windows11系统
- 如何优化Golang内存分配与GC调度_Golan
- php中::能用于接口静态方法吗_接口静态方法调用
- c++的static关键字有什么用 静态变量和静态
- Python邮件系统自动化教程_批量发送解析与模板
- Win10系统怎么查看显卡温度_Win10任务管理
- Python大型项目拆分策略_模块化解析【教程】
- 如何优化Golang Web性能_Golang H
- VSC里PHP变量未定义报错怎么解决_错误抑制技巧
- VSC怎么在PHP中调试MySQL_数据库交互排查
- MAC如何修改默认应用程序_MAC文件后缀关联设置
- Windows10系统怎么查看显卡驱动_Win10
- Win11怎么关闭开机声音_Win11系统启动提示
- Win11怎么禁用键盘自带键盘_Win11笔记本禁

QQ客服