Flask路由 Posted on 2016-11-23 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2016/11/22 下午3:51# @Author : Dwk# @File : flask_route.pyfrom flask import Flask# 创建一个Flask类的实例app = Flask(__name__)# 使用 route() 装饰器告诉 Flask 什么样 的URL 能触发我们的函数@app.route('/')def index(): return 'Index Page'@app.route('/hello')def hello(): return 'Hello, World'# 要给 URL 添加变量部分,你可以把这些特殊的字段标记为 <variable_name>。# 这个部分将会作为命名参数传递到你的函数。# 规则可以用 <converter:variable_name> 指定一个可选的转换器。@app.route('/user/<username>')def show_user_profile(username): return 'User %s' % username@app.route('/post/<int:post_id>')def show_post(post_id): return 'Post %d' % post_id# 虽然它们看起来着实相似,但它们结尾斜线的使用在 URL 定义 中不同。# 第一种情况中,指向projects的规范URL尾端有一个斜线。# 这种感觉 很像在文件系统中的文件夹。# 访问一个结尾不带斜线的 URL 会被 Flask 重定向到带斜线的规范 URL 去。# 然而,第二种情况的 URL 结尾不带斜线,类似 UNIX-like 系统下的文件的 路径名。# 访问结尾带斜线的 URL 会产生一个 404 “Not Found” 错误。# 这个行为使得在遗忘尾斜线时,允许关联的 URL 接任工作,与 Apache 和其它的服务器的行为并无二异。# 此外,也保证了 URL 的唯一,有助于 避免搜索引擎索引同一个页面两次。@app.route('/projects/')def projects(): return 'The project page'@app.route('/about')def about(): return 'The about page'