Flask-get请求和post请求

本文详细解析了HTTP请求中的GET和POST方法的区别及应用场景。GET请求适用于仅从服务器获取数据而不产生影响的情况,参数通过URL传递;POST请求用于对服务器产生影响的操作,参数通过formdata形式发送。文章还介绍了如何在Flask框架中使用request对象获取这两种请求的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.get请求:
	使用场景->如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求
	传参:get请求传参是放在url中,并且是通过?的形式来指定key和value的
2.post请求:
	使用场景->如果要对服务器产生影响,那么使用post请求
	传参:post请求传参不是放在url中,是通过form data的形式进行传参的

3.get和post请求获取参数:
	1.get请求是通过flask.request.args来获取
	2.post请求是通过flask.request.form来获取
	3.post请求在模板中要注意几点:
		input标签中,要写name来标识这个value的key方便后台获取
		在写form表单的时候要指定 method=post 并且要指定 action=视图函数

login.html

<form action="{{ url_for('login') }}" method="post">
    <table>
        <tbody>
            <tr>
                <td>用户名:</td>
                <td><input type="text" placeholder="请输入用户名" name="username"></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="text" placeholder="请输入密码" name="password"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="登录"></td>
            </tr>
        </tbody>
    </table>
</form>

app.py

from flask import Flask,render_template,request
app = Flask(__name__)

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

@app.route('/search')
def search():
    # arguments
    # {
    #     'q':'hello',
    #     'a':'world'
    # }
    q = request.args.get('q')
    return '用户提交过来的查询参数是:{}'.format(q)

# 默认的视图函数,只能采用get请求
#如果你想采用post请求,那么要写明
@app.route('/login',methods=['GET','POST'])
def login():
    if request.method=='GET':
        return render_template('login.html')
    else:
        username=request.form.get('username')
        password=request.form.get('password')
        print("username:{}".format(username))
        print("password:{}".format(password))
        return 'post request'

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值