Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

导读:本篇文章讲解 Python的 flask 框架是怎样处理get与post请求的呢,以Login为例,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

flask框架是一个简单的web框架,很容易上手,他是怎么处理get与post请求的呢?

 

 

 

1、创建deom

创建一个demo,使用pycharm专业版本直接创建一个flask的project,工具会自动生成一个hello_world的demo,直接运行,从浏览器127.0.0.1:5000访问,向世界问好,

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

2、新建登录模板

右击templates,选择HTML文件创建,名称为login.html,

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

里面会一段HTML,大家应该都懂HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

在body里面添加一个form表单,他的methon类型为post。

表单里面添加登录需要的账号输入框、密码输入框、登录按钮三个元素,添加完成后,HTML如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
    <table>
        <tbody>
            <tr>
                <td>用户名称:</td>
                <td><input type="text" name="user"></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="pwd"></td>
            </tr>
            <tr>
                <td><input type="submit" value="登录"></td>
            </tr>
        </tbody>
    </table>
</form>
</body>
</html>

保存成功,然后我们使用pycharm的HTML工具Python的 flask 框架是怎样处理get与post请求的呢,以Login为例打开看一看,效果如下便可,如果没达到效果,请检查login里的HTML

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

3、实现get与post响应

重点:@app.route里面的methons 列表给[‘GET’,’POST’]

在写代码前我们要导入两个库

render_template:加载模板

request:请求参数集合

代码:

实现的login方法即要能get到login.html页面,也要能post的用户与密码

所以装饰器@app.route里的methoms参数不能默认,需要将列表[‘GET’,’POST’]传入,因为他的默认参数是[‘GET’],无法处理post请求,不传‘POST’做post请求时后台会报错。

login方法里,使用request.method == ‘GET’ 来判断是接收了GET请求还是POST请求,针对不同的请求,给浏览器不同的回应。

具体代码请看下面:

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'


@app.route('/login/', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        username = request.form.get('user')
        pwd = request.form.get('pwd')
        if username == 'hunwei' and pwd == '888888':
            return '登录成功,用户名: [%s]' % username
        else:
            return '登录失败,用户名或密码错误'

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

 

启动服务,结果如下,服务启动成功

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

在浏览器里输入:127.0.0.1:5000/login/

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

测试:

用户名称输入:hunwei

密码输入:888888

点击登录,响应如下

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

用户名称输入:adb

密码输入:123123

点击登录,响应如下

Python的 flask 框架是怎样处理get与post请求的呢,以Login为例

 

flask处理get与post是不是很容易,快用起来吧

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5480.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!