轻量级web开发框架之Flask web开发框架学习:get请求数据的发送

Flask是一个使用 Python 编写的轻量级 Web 应用框架,简介灵活,可快速构建开发框架。

协作流程示例

bash 复制代码
客户端请求 → Web服务器(Nginx) → WSGI服务器(Gunicorn/uWSGI)
              ↓
            WSGI协议传递请求数据(environ/start_response)
              ↓
          Flask应用对象处理请求 → 调用视图函数生成响应
              ↓
            WSGI服务器返回响应 → 客户端:ml-citation{ref="2,6" data="citationList"}

第一个flask服务器案例

安装:执行终端命令 pip install flask

bash 复制代码
pip install flask

执行结果

创建一个flask项目

css 复制代码
import flask

# 创建一个flask对象(是一个web服务器程序)
app = flask.Flask(__name__)

# 路由设置,一般斜杠都是默认访问的是首页,一般定位到index功能页面
@app.route('/')
def index():
    # 业务逻辑处理
    html = '''
            <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>flask</title>
        </head>
        <body>
            <h1>hello world</h1>
            <a href="chinese">中文</a>
            <a href="https://www.baidu.com">百度</a>
        </body>
        </html>
    '''
    return html

# 处理中文路由问题
@app.route('/chinese')
def chinese():
    # 业务逻辑处理
    html = '''
                <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>flask</title>
            </head>
            <body>
                <h1>hello world</h1>
                <a href="/">英文</a>
                <a href="https://www.baidu.com">百度</a>
            </body>
            </html>
        '''
    return html

if __name__ == '__main__':
    app.run(debug=True)

启动项目

启动后页面如下

点击中文

点击百度

flask服务端的请求方式

最常见的请求方式是get请求,本质上是获取信息的意思,例如,打开百度搜索python,get请求的请求参数是会在地址栏中直接显示明文的

flask演示get请求的发送方式

不传送数据

创建一个flask请求

css 复制代码
import flask

app = flask.Flask(__name__)

@app.route('/')
def login():
    # 获取浏览器端get请求发送过来的数据,get请求的特点是可以在浏览器地址栏中显示数据,
    # 是明文显示方式,也意味着这种访问方式是不安全的
    user = flask.request.values.get('user','')
    sex = flask.request.values.get('sex','')
    return f'您发送的数据为:{user = }, {sex = }'

if __name__ == '__main__':
    app.run(debug=True)
css 复制代码
http://127.0.0.1:5000/

传送数据

css 复制代码
http://127.0.0.1:5000/?user=%E5%BC%A0%E9%A3%9E&sex=%E5%A5%B3
相关推荐
科技观察哨15 分钟前
六足平台选型与纳米定位系统集成:HEB-640六自由度位移台在半导体光刻对准中的参数边界与国产替代评估
前端·人工智能
差不多的周周31 分钟前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
niucloud-admin33 分钟前
JAVA V6 多商户商城 开发文档——web前端
前端
颜进强1 小时前
16 · NestJS LifecycleEvents 生命周期事件:五个钩子、三条边界,和 rag-server 的优雅停机
前端·后端·ai编程
Century_Dragon2 小时前
从挂图到VR:汽修专业的一堂新能源原理课可以怎么上~
学习
知识分享小能手2 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
小马哥程序开发2 小时前
[点赞收藏免费领取 · 项目源码]37399民族服饰饰品商城小程序
sql·mysql·flask·源码·课程设计·程序开发·课设
今年下半年2 小时前
【VUE】整合腾讯地图、自定义区域边界、村委名称及资产统计(放大显示资产点位)
前端·javascript·vue.js
郑州光合科技余经理2 小时前
同城电商系统:库存变更怎么同步到订单
java·开发语言·前端·后端·uni-app·php·ai编程
New农民工3 小时前
倒立摆训练秘籍:理解训练参数
学习