【先验知识归纳】Flask快速入门

本文参考:快速入门 — Flask 0.10.1 文档

路由

Flask使用route修饰器来关联URL与程序函数:

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

动态路由

在route的参数中增加<variable_name> ,可使函数获得URL中的参数信息,比如:

@app.route('/user/<username>')
def show_user_profile(username):
    return 'User %s' % username

我们可以采用 <converter:variable_name>对参数进行格式转换(过滤),常用的转换器包括:

int 整数
float 浮点数
path 包含斜杠的字符串

构造URL

使用url_for(),它能带来3个好处

  1. 描述性更好,抽象程度更高(起到类似变量的作用)
  2. 它可以自动转义特殊字符和Unicode数据

HTTP方法

HTTP 方法告知服务器,客户端想对请求的页面些什么。下面这些是比较常见的HTTP方法:

  • GET:浏览器告知服务器:只获取页面上的信息并发给我。这是最常用的方法。
  • POST:浏览器告诉服务器:想在 URL 上发布新信息。并且,服务器必须确保 数据已存储且仅存储一次。这是 HTML 表单通常发送数据到服务器的方法。
  • PUT:类似 POST 但是服务器可能触发了存储过程多次,多次覆盖掉旧值。与POST的区别在于触发次数,POST信息只触发一次。

默认情况下,路由只回应 GET 请求,但是通过 route() 装饰器传递 methods 参数可以改变这个行为:

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        do_the_login()
    else:
        show_the_login_form()

静态文件

静态文件一般只供网页使用的CSS 或 JavaScript 资源。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问。
例:静态文件的URL:url_for('static', filename='style.css'),该文件目录:static/style.css

模板渲染

Flask配备了Jinja2模板引擎
模板引擎可以提高HTML文件的抽象程度,从而减少我们编写HTML文件的工作量。
Flask 会在 templates 文件夹里寻找模板。

访问请求数据

在 Flask 中由全局的 request 对象来获得客户浏览器提交给服务器的数据。
request是Flask中的一个非常重要的对象,它联结了客户浏览器与服务器的整个交互过程。
关于request的具体信息详见:API——request

消息闪现

使用flash()方法可以在用户的网页中闪现一条消息,进而提高用户体验。

原文地址:https://www.cnblogs.com/lokvahkoor/p/10505514.html