Flask 入门(四)
url反转
当我学习到url反转的时候,看了一个人写的例子,如下:
from flask import Flask,url_for
app = Flask(__name__)
@app.route('/')
def index():
print url_for('my_list')
print url_for('article',id='abc')
return 'Hello World!'
@app.route('/list/')
def my_list():
return 'list'
@app.route('/article/<id>/')
def article(id):
return u'您请求的参数是:%s'%id
if __name__ == '__main__':
app.run(debug=True)
看完后,我想,有什么用哪?,那两个print(url_for(......))语句,起到了什么作用?,它也没和我想的一样,打印出那两个函数的地址来啊,那写它干什么?
其实,url_for函数实现了视图函数到URL路径的转换,而且服务器经常利用这个路径实现视图函数的重定向,没听懂是吧,通俗的讲,就是,如果你想调用某个函数的时候,不必须使用路由函数,因为它的名字可能很长,也可以使用url_for(函数名)直接使用它,更方便的是它可以结合重定向函数redirect(路径)访问其它页面,例如:redirect(url_for('login')),注意,login是个函数名,它里面封装了进入登录页面的功能。废话少说,上代码:
首先,编辑index.py里面的代码:
from flask import Flask,url_for,redirect
app = Flask(__name__)
@app.route('/')
def index():
return '欢迎学习url 反转'
@app.route('/path')
def path():
return 'welcome to the path'
@app.route('/get_path/')
def get_path():
return url_for('path')
@app.route('/go_path/')
def go_path():
return redirect(url_for('path'))
if __name__ == '__main__':
app.run(debug=True)
然后运行浏览器,
输入127.0.0.1:5000测试如下:
输入127.0.0.1:5000/get_path/测试如下:
输入127.0.0.1:5000/go_path测试如下:
相信聪明的你已经看出什么猫腻了吧,没错,它和127.0.0.1:5000:/path的效果一样,这就是它的作用!
Flask 入门(四)的更多相关文章
- Flask入门系列(转载)
一.入门系列: Flask入门系列(一)–Hello World 项目开发中,经常要写一些小系统来辅助,比如监控系统,配置系统等等.用传统的Java写,太笨重了,连PHP都嫌麻烦.一直在寻找一个轻量级 ...
- 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战
概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- Swift语法基础入门四(构造函数, 懒加载)
Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...
- Thinkphp入门 四 —布局、缓存、系统变量 (48)
原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调 ...
- DevExpress XtraReports 入门四 创建 Web 报表
原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...
- Flask入门笔记(一)
一.程序的基本结构 1.1 最简单的Flask程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #coding=utf-8 # 初始化 from flask import Fla ...
- Flask入门HelloWorld
Flask入门HelloWorld Flask官网:http://flask.pocoo.org/ Flask中文翻译:http://dormousehole.readthedocs.io/en/la ...
- Flask入门之结构重组(瘦身)-第13讲笔记
1. pip list Flask 0.10.1 Flask-Bootstrap 3.3.5.6 Flask-SQLAlchemy 2 Flask-Script 2.0.5 Flask-WTF 0.1 ...
- Flask入门之Bootstrap介绍使用和Flask-Nav快速导航栏
一.Bootstrap Bootstrap,来自 Twitter,是目前最受欢迎的前端框架. Python中,同样可以使用Bootstrap. 1. 导入Bootstrap库 from flask_b ...
随机推荐
- 029.核心组件-Controller Manager
一 Controller Manager原理 1.1 Controller Manager概述 一般来说,智能系统和自动系统通常会通过一个"控制系统"来不断修正系统的工作状态.在K ...
- WEB应用之http协议和httpd闲聊
什么是web?在日常生活中我们常常听到web这个词,它到底是什么呢?今天我们来聊一聊web应用http协议:相信生活在如今互联网时代的我们,http这个协议应该对我们不是很陌生吧!比如双十一双十二我们 ...
- 给萌新的 TS custom transformer plugin 教程——TypeScript 自定义转换器插件
xuld/原创 Custom transformer (自定义转换器)是干什么的 简单说,TypeScript 可以将 TS 源码编译成 JS 代码,自定义转换器插件则可以让你定制生成的代码.比如删掉 ...
- ZooKeeper原理解析
目录 ZooKeeper中的各种角色 ZooKeeper与客户端 Zookeeper节点数据操作流程 Paxos 算法概述(ZAB 协议) ZooKeeper 的选主机制 选择机制中的概念 选举消息内 ...
- 按 ctrl 时会触发 shift ,导致不能正常使用 ctrl + c 复制
问题描述 不能使用 ctrl 功能键组合,原因是按 ctrl 时 shift 也会被触发. win 10 电脑为例,可以打开虚拟键盘查看按键情况. 当我按下 ctr时 可见 shift 也被触发了. ...
- react 装 router - yarn add react-router-dom@next
react 装 router yarn add react-router-dom@next
- 前端构建工具gulpjs的使用介绍及技巧【转载】
转载至:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常 ...
- [快速幂]Codeforces Round #576 (Div. 2)-C. MP3
C. MP3 time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- 两个看似相同,结果不同的SQL逻辑
一朋友问我的,看着挺有意思,记录一下: 表item1,里面有上面三个字段,一共10条数据,接下来有两个相似的sql语句得到了不一样的查询结果. 表数据如下: 两条SQL及查询结果: 我的理解答: S ...
- 搜索引擎如何检索结果:Python和spaCy信息提取简介
概览 像Google这样的搜索引擎如何理解我们的查询并提供相关结果? 了解信息提取的概念 我们将使用流行的spaCy库在Python中进行信息提取 介绍 作为一个数据科学家,在日常工作中,我严重依赖搜 ...