Flask---第二个例子--Get和POST发送

*get:浏览器告诉服务器,我只需要获取页面信息给我,这是最简单最常用的方法

*Post:览器告诉服务器:想在 URL 上 发布 新信息。并且,服务器必须确保 数据已存储且仅存储一次。这是 HTML 表单通常发送数据到服务器的方法。

*route:路由,通过route() 装饰器把一个函数绑定到对应的 URL 上。【默认路由是只回应GET请求,但是可以通过Method来改变这个行为】

 

1、使用GET方法(通常是默认GET或指定GET)

 1 from flask import Flask
 2 app = Flask(__name__)
 3 
 4 @app.route('/project')--------->默认GET,注意,这里URL结尾没有以斜杠结尾,访问时,如果不小心访问成【http://127.0.0.1:5000/project/】,会提示404NOT FOUNT,也就是说必须以没有斜杠的标准URL访问
 5 def hello_world():
 6     return '这是project页面!'
 7 
 8 @app.route('/hello/',methods=['get'])-------->指定GET,两种方式都行,注意,这里URL以斜杠结尾,和上一种的区别在于,不管访问最后有没有带斜杠,最终都会被Flask重定向到带斜线的规范URL去
 9 def hello(): 
10 return '这是HELLLO页面,Hello World!!!!!!!!!!'
11
12 if __name__ == '__main__': 13 app.run(debug=True);

 

 

 

2、使用POST方法

@app.route('/register',methods=['POST'])   ----->该URL使用POST方法  
def register():
    print(request.headers);
    print(request.stream);#视图函数
    return '欢饮'


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

 

 

3、动态构造URL

*下面的例子中,规则可以由方法中写出,只要把需要构造的动态参数以<valuename>的形式写入URL中即可

@app.route('/hello/<username>',methods=['get'])
def hello2(username):
    return username

 

*可输入中文、整数、浮点数进行验证,都是正常的

*但是输入特殊字符,如【/】,会背看成是路径符号,而提示NOT FOUNT,怎么破?

*输入特殊字符,如【%40】,会被浏览器转义,怎么破

附--录:

字符    -    URL编码值

空格    -    %20
"          -    %22
#         -    %23
%        -    %25
&         -    %26
(          -    %28
)          -    %29
+         -    %2B
,          -    %2C
/          -    %2F
:          -    %3A
;          -    %3B
<         -    %3C
=         -    %3D
>         -    %3E
?         -    %3F
@       -    %40
\          -    %5C
|          -    %7C 

 

posted @ 2019-03-13 11:56  littlepoemers_23ujhs  阅读(1972)  评论(0编辑  收藏  举报