Pycharm和Flask的学习心得(4和5)

一:认识路由:

(1):接受请求的类型:

@app.route('hello ',methods = 'GET ','POST')

请求类型主要有两种(常用):GET 和 POST ;

GET: 直接输入的网址(url访问的就是GET请求)

POST: 使用到表单(提交数据)

二、 GET 和 POST的区别:

类型 特点 常见用途
得到 请求参数放在网址 URL 中;数据公开 查询数据、打开网页、搜索、跳转等
邮政 请求参数放在请求体中;数据不显示在 URL 中 表单提交(登录、注册、上传文件)等

三:什么时候用 POST 请求?

常见使用 POST 的场景:

场景 示例
用户登录 提交用户名和密码
注册新用户 提交用户填写的注册信息
发表留言 提交留言内容
上传文件 提交图片、PDF 等
提交搜索表单 搜索内容较复杂时

四:POST请求 实例:

  1. 用户登录 / 注册表单
python 复制代码
<form method="POST" action="/login">
    <input name="username">
    <input name="password">
    <button type="submit">登录</button>
</form>
  1. 提交评论 / 留言 / 反馈表单
python 复制代码
<form method="POST" action="/comment">
    <textarea name="content"></textarea>
</form>
  1. 上传文件(比如图片、简历)
python 复制代码
<form method="POST" enctype="multipart/form-data" action="/upload">
    <input type="file" name="photo">
</form>
  1. 修改数据库(如添加商品、发帖)

五:路由所匹配的url(用户输入的网址)重名会怎么样?

python 复制代码
@app.route('/xxx')
def func1():
    return "这是 func1"

@app.route('/xxx')
def func2():
    return "这是 func2"

@app.route('/xxx') 就是如果两个路由的'/xxx'是一样的情况下,会怎么样:

(1):当访问类型相同的时候,都为GET:

当你访问 http://localhost:5000/xxx,你会看到:

这是 func2

(2):访问类型不同的时候

python 复制代码
@app.route('/login', methods=['GET'])
def show_form():
    return '<form method="post">...</form>'

@app.route('/login', methods=['POST'])
def process_form():
    return '处理登录表单'

因为输入的是地址,所以当然访问到的会是第一个

六:关于变量规则的使用:路由后面' XXX '内容的可随意添加

相关推荐
东风破_1 小时前
大前端手里的 Next.js:从 #root 到 SEO,一份 HTML 的两种命运
前端·后端
IT_陈寒1 小时前
Vue的v-for不听话?我被这个Key的坑整懵了
前端·人工智能·后端
水獭比特1 小时前
localhost 不是安全边界:给 Agent Web 入口补上四层门禁
人工智能·python
Generalzy1 小时前
Whisper + VAD + TTS:一套完整的 Python 本地语音处理流水线
python·whisper·语音识别
qpsj1 小时前
让 LLM 控制 AutoCAD/ZWCAD:COM 自动化 + MCP 封装
python·llm
赟爸1 小时前
直播切片素材杂乱不好复用,易元AI要怎么处理
大数据·人工智能·python
众人皆醒我独醉1 小时前
训练加速实战:Flash Attention、Gradient Checkpointing 与数据流水线
后端·面试·gpu
阿黎梨梨1 小时前
Next.js 全栈开发:从 SPA 的痛点到 SSR 的破局之道
前端·后端
名字还没想好☜2 小时前
Go 的 unsafe.Pointer 实战:零拷贝 []byte↔string 转换与三条铁律
开发语言·后端·golang·go·unsafe
老孙讲技术2 小时前
周末档期厨房爆单,带宽账单也爆了——不是直播难,是主码流 + always 计划在烧钱
后端·物联网