今天写一个URL传参、反转URL、页面跳转和重定向

URL传参

主app文件代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello World!' @app.route('/article/<id>')
def article(id):
return '您请求的参数是: %s' %id if __name__ == '__main__':
app.run()

### url传参数:
1. 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。
2. flask中如何使用参数:
'''
@app.route('/article/<id>')
def article(id):
return '您请求的参数是: %s' %id
'''
* 参数需要放在两个尖括号中。
* 视图函数中需要放和url中的参数同名的参数

反转URL

首先,正转是指由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 '您请求是id是:%s' % id if __name__ == '__main__':
app.run(debug=True)

输出得到:

注意,这里article函数,有id参数,在url_for函数中需要传入参数,否则会报错

### 反转url:
1. 什么叫做反转url:从视图函数到URL的转换叫做反转url
2. 反转url的用处:
* 在页面重定向的时候,会使用url反转
* 在模板中,也会使用url反转

页面跳转和重定向

代码如下:

from flask import Flask,redirect,url_for

app = Flask(__name__)

@app.route('/')
def index():
login_url = url_for('login')
return redirect(login_url)
return '这是首页!' @app.route('/login/')
def login():
return '这是登录页面!' @app.route('/question/<is_login>/')
def question(is_login):
if is_login == '':
return '这是发布问答页面'
else:
return redirect(url_for('login')) if __name__ == '__main__':
app.run(debug = True)

这里实现的功能是:

1.登录主页即可跳转到'login'登录页面

2.如果'is_login’这个参数不为1,则会跳转到登录页面

### 页面跳转和重定向
1. 用处:在用户访问一些需要登录的页面的时候,如果用户满意登录,那么可以让他重定向到登录页面
2.代码实现:
'''
from flask import redirect,url_for
redirect(url_for('login'))
'''

Flask web开发之路三的更多相关文章

  1. Flask web开发之路九

    flask_scripts介绍 项目结构如下: flask_script_demo.py文件: from flask import Flask app = Flask(__name__) @app.r ...

  2. Flask web开发之路六

    紧接着上篇文档,写模板继承和block,URL链接和加载静态文件 模板继承和block 项目结构 主app文件代码: from flask import Flask,render_template a ...

  3. Flask web开发之路一

    之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...

  4. Flask web开发之路十四

    今天开始Flask的实战,创建一个项目,实现包括用户登录.注册.注销.发表博客.评论以及检索等功能 首先给出项目结构: 1.config.py文件: 存放各种配置信息 import os # dial ...

  5. Flask web开发之路十三

    g对象 ### 保存全局变量的g属性:g:global1. g对象是专门用来保存用户的数据的.2. g对象在一次请求中的所有的代码的地方,都是可以使用的. 项目结构: g_demo.py文件代码: f ...

  6. Flask web开发之路十二

    ge请求和post请求 ### get请求和post请求:1. get请求: * 使用场景:如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求. * 传参:get请求传参是放 ...

  7. Flask web开发之路十一

    首先写一下cookie和session的概念,然后是Flask中session的工作机制以及操作session ### cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态 ...

  8. Flask web开发之路十

    首先介绍循环引用的问题: 当一个模块需要引用另一个模块的类,而另一个模块又需要引用这个模块的类时,就出现了循环引用,而没法导入类,这时候可以切断其中一条引用路径,增加一个模块 项目结构: models ...

  9. Flask web开发之路八

    今天写Flask_SQLAlchemy的外键及其关系 ### Flask-SQLAlchemy外键及其关系: 主app文件代码: from flask import Flask from flask_ ...

随机推荐

  1. 谷歌、亚马逊相继宣布屏蔽 Flash 广告,又一个时代行将结束?【转载+整理】

    原文地址 其实,如果你看一下乔布斯的传记,早在十几年以前,乔布斯就说过类似的话,他狠透了 Flash~ 据 InfoWorld 报道,谷歌已经正式宣布,在默认情况下,Chrome将不再自动播放Web页 ...

  2. Javascript框架的自定义事件(转)

    很多 javascript 框架都提供了自定义事件(custom events),例如 jquery.yui 以及 dojo 都支持“document ready”事件.而部分自定义事件是源自回调(c ...

  3. sql server 多表关联更新 update

    update a set a.KSMC = b.name from JC_KSXXB a inner join chisdb_ymyy..zd_unit_code b on a.KSDM = b.co ...

  4. Scale-out NAS 和scale-up NAS 系统的优缺点

    企业IT部门在应对非结构化数据的爆炸性增长时,他们需要考虑选购适合的NAS系统,决定传统的固定容量的NAS设备和新兴的scale-out NAS设备哪一种能更好地满足他们的文件存储需求. 为了帮助你做 ...

  5. Windows 8系统默认开启的.Net Framework版本是4.0,而部分用户可能需要使用到3.5或以下版本,简单添加方法

    从网络途径下载的.Net Framework3.5是无法直接在Windows 8系统上安装的,我们可以通过Windows 8的添加功能来实现 1.打开控制面板,点击”启用或关闭Windows 功能“ ...

  6. Effective Java 第三版——48. 谨慎使用流并行

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  7. Java定时任务示例

    package com.my.timer; import java.util.Date; import java.util.TimerTask; public class myTask extends ...

  8. Android Studio updating indices 一直刷新和闪烁

    Android Studio 更新到了 3.1.3 版本,在导入了工程以后,一直出现了 updating indices 刷新的情况,造成闪烁,在切换到其他视图以后,Android Studio 会一 ...

  9. 译:4.RabbitMQ Java Client 之 Routing(路由)

    在上篇博文 译:3.RabbitMQ 之Publish/Subscribe(发布和订阅)  我们构建了一个简单的日志系统 我们能够向许多接收者广播日志消息. 在本篇博文中,我们将为其添加一个功能 - ...

  10. 6-9-哈夫曼树(HuffmanTree)-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版

    课本源码部分 第6章  树和二叉树 - 哈夫曼树(HuffmanTree) ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接☛☛☛ <数据结构-C语言版> ...