HTTP方法
默认路由只响应GET请求,可以通过route()提供的methods参数来改变。
#coding=utf-8
from flask import Flask, request
app = Flask(__name__)
@app.route('/login',methods=['GET', 'POST'])
def login():
return "reuqest.method: %s" % request.method
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80, debug=True)
HTTP 方法(通常也称为“谓词”)告诉服务器客户端想要对请求的页面 做 什么。下面这些方法是比较常见的:
GET
浏览器通知服务器只 获取 页面上的信息并且发送回来。这可能是最常用的方法。
HEAD
浏览器告诉服务器获取信息,但是只对 头信息 感兴趣,不需要整个页面的内容。 应用应该处理起来像接收到一个 GET 请求但是不传递实际内容。在 Flask
中你完全不需要处理它, 底层的 Werkzeug
库会为你处理的。
POST
浏览器通知服务器它要在URL上 提交 一些信息,服务器必须保证数据被存储且只存储一次。 这是 HTML
表单通常发送数据到服务器的方法。
PUT
同 POST
类似,但是服务器可能触发了多次存储过程,多次覆盖掉旧值。现在你就会问这有什么用, 有许多理由需要如此去做。考虑下在传输过程中连接丢失:在这种情况下浏览器 和服务器之间的系统可能安全地第二次接收请求,而不破坏其它东西。对于 POST
是不可能实现的,因为 它只会被触发一次。
DELETE
移除给定位置的信息。
OPTIONS
给客户端提供一个快速的途径来指出这个 URL
支持哪些 HTTP
方法。从 Flask 0.6
开始,自动实现了它。
静态文件
动态的 web
应用同样需要静态文件。CSS
和 JavaScript
文件通常来源于此。理想情况下, 你的 web 服务器已经配置好为它们服务,然而在开发过程中 Flask 能够做到。 只要在你的包中或模块旁边创建一个名为 static
的文件夹,在应用中使用 /static
即可访问。
给静态文件生成 URL
,使用特殊的 'static'
端点名:
url_for('static', filename='style.css')
这个文件应该存储在文件系统上称为 static/style.css
。