轻量级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
相关推荐
killer Curry1 分钟前
B站 XMCVE Pwn入门课程学习笔记(4)
笔记·学习
BillKu7 分钟前
Vue3 + TypeScript 中 let data: any[] = [] 与 let data = [] 的区别
前端·javascript·typescript
F_D_Z8 分钟前
【格与代数系统】偏序关系、偏序集与全序集
学习·模糊理论·偏序集·全序集·二元关系
GIS之路15 分钟前
OpenLayers 调整标注样式
前端
爱吃肉的小鹿16 分钟前
Vue 动态处理多个作用域插槽与透传机制深度解析
前端
GIS之路16 分钟前
OpenLayers 要素标注
前端
前端付豪16 分钟前
美团 Flink 实时路况计算平台全链路架构揭秘
前端·后端·架构
sincere_iu17 分钟前
#前端重铸之路 Day7 🔥🔥🔥🔥🔥🔥🔥🔥
前端·面试
设计师也学前端17 分钟前
SVG数据可视化组件基础教程7:自定义柱状图
前端·svg
我想说一句20 分钟前
当JavaScript的new操作符开始内卷:手写实现背后的奇妙冒险
前端·javascript