你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Python flask框架(5)

2021/11/16 0:45:26

小结复习

(1)-(4)感觉迷迷糊糊的,这里小结一下分别都讲了啥:
(1)一些基础的概念;
(2)IP等概念+基础的实现
(3)http状态码+路由变量规则+视图函数return+部分响应
(4)request+response+模板渲染

小结测试

实现一个add功能

app=Flask(__name__)
app.config.from_object(config)
#是可以传多个数的
@app.route('/add/<int:a1>/<int:a2>')
def add(a1,a2):
    if a1>0 and a2>0:
        return '加法运算结果为:'+str(a1+a2)
    return "请输入两个正数" 
#请注意啦视图函数必须有返回值,当涉及到分类时一定要注意
app.run(port=8888)

小结补充

get请求会在路径上体现出来,即会暴露隐私,所以再来一个小结测试

小结测试2

完善(4)中的代码,使其支持post请求方法

users=[]
#如果成功加入哈哈星球就把它记下来
app=Flask(__name__)
app.config.from_object(config)
@app.route('/add/<int:a1>/<int:a2>')
def add(a1,a2):
    if a1>0 and a2>0:
        return '加法运算结果为:'+str(a1+a2)
    return "请输入两个正数" 
#请注意啦视图函数必须有返回值,当涉及到分类时一定要注意

@app.rout('/register',methods=['GET','POST'])
def register():
    if request.method=='POST':
        username=request.form.get('username')
        address=request.form.get('address')
        user={'username'=username,'password'=password}
        users.append(user)
        return "加入成功!"
    return render_template('regis.html')

@app.route('/showusers')
def show():
    j=json.dumps(users)
    return j
app.run(port=8888)
    <form action="/register" method="post">
        <p><input type="text" name="username" placeholder="请输入用户名"></p>
        <p><input type="text" name="address" placeholder="请输入地址"></p>
        <p><input type="submit" value="提交"></p>
    </form>

实例代码和(4)中有点不一样,区别在于regis.html中的action仍调用register。

*按顺序来说,假如我们先输入链接访问…/register,这个时候我们是GET的请求方式;

*当点击提交后,根据action再次request…/register,但是需要注意regis.html中的action规定了是POST请求方式,这个时候就可以通过form将用户信息存储起来。

*综合的逻辑就是,当是GET时,就是简单的初次访问页面;当是POST时,就说明用户提交了,就要做存储等其他操作了,或者返回一个“加入成功”。

网页改进

在这里添加一个showusers的功能:

@app.route('/showusers')
def show():
    j=json.dumps(users)
    return j

可以观察到,我们需要每次输入特定的url才能去实现,其实,可以在首页整合展示所有功能,然后以类似超链接的方式直接点击跳转

@app.route('/')
def index():
    return render_template('index.html')
index文件
<!DOCTYPE html>
<html lang='en'>


<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>


<body>
#这就是超链接的实现
<h1>欢迎来到哈哈星球<h1>
<a href="/register">注册</a><br>
<a href="">登录</a><br>
<a href="/showusers">展示</a><br>

</body>


</html>

在这里插入图片描述
在这里插入图片描述