今天写一个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. vscode 中使用php-cs-fixer和PHP Formatter 插件规范化PHP代码

    什么是PHP-CS-Fixer?    它是php-fig组织定义的PHP代码规范,良好的代码规范可以提高代码可读性,团队沟通维护成本    使用它可以按照指定的规范格式化您的PHP代码,此工具不仅可 ...

  2. 机器学习中的规则化范数(L0, L1, L2, 核范数)

    目录: 一.L0,L1范数 二.L2范数 三.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问 ...

  3. 树莓派3中编译Opencv3.4.10

    一.命令 -dev libv4l-dev libavcodec-dev libavformat-dev libswscale-dev cd wget http://sourceforge.net/pr ...

  4. hihocoder编程练习赛91:相邻字符串

    题目链接 给定一个长度小于1e5的字符串s,s中字符全是大写英语字母.现在要寻找s中有多少组邻近的"hio"字符串,邻近的定义如下:hi距离+io距离+ho距离小于k.输入k和s, ...

  5. 11g新特性-SQL Plan Management

    在11g之前版本,提供了stored outlines(sql概要)特性来保存sql的执行计划. 在11g中,引入了一个新的特性sql计划管理(sql plan management)特性来保存sql ...

  6. SNF快速开发平台MVC-甘特图

    上个月做了CS框架的甘特图样例,本月框架组人员又实现了BS的甘特图效果,而且效果也很不错哦 图形框可以直接拖拽调整时长时间: 新增节点:

  7. HashMap中的hash算法总结

    前言 算法一直是我的弱项,然而面试中基本是必考的项目,刚好上次看到一个HashMap的面试题,今天也来学习下 HashMap中的hash算法是如何实现的. 数学知识回顾 << : 左移运算 ...

  8. JPA+Hibernate 3.3 ——第一个JPA程序

    所需要的最小的jar包(注意:jar包所在路径不能含有空格或中文) hibernate3.jarhibernate-cglib-repack-2.1_3.jarslf4j-api-1.5.2.jarj ...

  9. elasticsearch中 refresh 和flush区别【转】

    elasticsearch中有两个比较重要的操作:refresh 和 flush refresh操作 当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索.而这个实时建索引并可以 ...

  10. Mysql字符串字段中是否包含某个字符串,用 find_in_set

    有这样一个需求,在Mysql数据库字符串字段(权限)中,有范围在 1 到 N 之间代表不同权限的值,分别被‘,’分开,现在要取出具有某权限的所有成员列表. 创建表:   1 CREATE TABLE ...