Python flask 表单详解

文章目录

  • [1 概述](#1 概述)
    • [1.1 request 对象](#1.1 request 对象)
  • [2 示例](#2 示例)
    • [2.1 目录结构](#2.1 目录结构)
    • [2.2 student.html](#2.2 student.html)
    • [2.3 result.html](#2.3 result.html)
    • [2.4 app.py](#2.4 app.py)

1 概述

1.1 request 对象

  • 作用:来自客户端网页的数据作为全局请求对象发送到服务器
  • request 对象的重要属性如下:
属性 解释
form 字典对象,包含表单的参数、值、键值对
args 解析查询字符串的内容,是问号(?)之后的 url 的一部分
cookies 字典对象,保存 cookie 的名称和值
files 与上传文件有关的数据
method 当前请求的方法,如:POST、GET

2 示例

  • 表单操作的示例,步骤如下
    • ① 访问浏览器,并在主页 student.html 中录入学生信息
    • ② 点击提交按钮,并将结果返回至 result.html 页面

2.1 目录结构

实现效果:

2.2 student.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学生信息表</title>
</head>
<body>
<form action="/result" method="POST">
    <p>name <input type="text" name="name"/></p>
    <p>sex <input type="text" name="sex"/></p>
    <p>age <input type="text" name="age"/></p>
    <p><input type="submit" value="submit"/></p>
</form>
</body>
</html>

2.3 result.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>结果列表</title>
</head>
<body>
<table border="1" cellspacing="0" cellpadding="2">
    {% for key, value in result.items() %}
    <tr>
        <th> {{ key }}</th>
        <td> {{ value }}</td>
    </tr>
    {% endfor %}
</table>
</body>
</html>

2.4 app.py

python 复制代码
from flask import Flask, render_template, request

app = Flask(__name__)


@app.route('/')
def student():
    return render_template('student.html')


@app.route('/result', methods=['POST', 'GET'])
def result():
    if request.method == 'POST':
        result = request.form
        return render_template("result.html", result=result)


if __name__ == '__main__':
    app.run(debug=True)
相关推荐
第九序言T11 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路11 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_4260039611 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_12 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
龙亘川12 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人12 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc13 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl13 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
Raas10013 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
云和数据.ChenGuang13 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain