Flask web开发之路三

今天写一个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 == ‘1‘:
        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‘))
‘‘‘

原文地址:https://www.cnblogs.com/yqpy/p/8641354.html

时间: 2024-10-16 16:23:43

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

Flask web开发之路二

今天创建第一个flask项目,主app文件代码如下: # 从flask这个框架导入Flask这个类 from flask import Flask #初始化一个Flask对象 # Flasks() # 需要传递一个参数__name__ # 1. 方便flask框架去寻找资源 # 2. 方便flask插件比如Flask-Sqlalchemy出现错误的时候,好去寻找问题所在的位置 app = Flask(__name__) # @app.route是一个装饰器 # @开头,并且在函数的的上面,说明是

Flask web开发之路六

今天写SQLAlchemy数据库 首先介绍ORM的概念: ORM,Object类,Relationship:关系,Mapping:映射,也就是模型关系映射 flask-sqlalchemy是一套ORM框架 ORM的好处:可以让我们操作数据库跟操作对象一样,非常方便,因为一个表就抽象成一个类,一条数据就抽象成该类的一个对象 ### Flask-SQLAlchemy的使用:1. 初始化和设置数据库配置信息: * 使用flask_sqlalchemy中的SQLAlchemy进行初始化: ``` fro

Flask web开发之路九

首先介绍循环引用的问题: 当一个模块需要引用另一个模块的类,而另一个模块又需要引用这个模块的类时,就出现了循环引用,而没法导入类,这时候可以切断其中一条引用路径,增加一个模块 项目结构: models_sep.py代码: from flask import Flask from models import Article from exts import db import config app = Flask(__name__) app.config.from_object(config) d

Flask web开发之路十四

今天开始Flask的实战,创建一个项目,实现包括用户登录.注册.注销.发表博客.评论以及检索等功能 首先给出项目结构: 1.config.py文件: 存放各种配置信息 import os # dialect+driver://username:[email protected]:port/database DIALECT = 'mysql' DRIVER = 'pymysql' USERNAME = '用户名' PASSWORD = '密码' HOST = '域名' PORT = '端口号' D

WEB开发之路——基础部分

WEB开发之路 受BBC的<BBC: Brain Story>和<BBC: The Brain - A Secret History>的影响,我一直有志于探究人类大脑,2015年的暑假,到华南理工大学的国家重点实验室-生物医学工程实验室,实习了一个月的时间,学习大脑图像处理—Matlab语言来处理大脑的灰质和白质的图像,核心知识在计算机方面,只有掌握计算机这门工具,才能更好的分析大脑.因此,在我的坚决要求之下,2016年的暑假,家人给我联系了一家软件公司实习,从最有活力的WEB开发

Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记

<Flask Web开发:基于Python的Web应用开发实战> 点击上方的"目录"快速到达哦! 虽然简单的网站(Flask+Python+SAE)已经上线,但只是入门.开发大型网站,系统地学习一遍还是有必要的. 1 虚拟环境 2016-6-8 书上介绍了 virtualenv,每个venv都会拷贝一份packages到项目 /venv目录. virtualenv venv venv\Scripts\activate.bat (venv) $ pip freeze >

《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(下)

目录 前言 第8章 用户认证 第9章 用户角色 第10章 用户资料 第11章 博客文章 第12章 关注者 第13章 用户评论 第14章 应用编程接口   前言 第1章-第7章学习实践记录请参见:<Flask Web开发——基于Python的Web应用开发实践>一字一句上机实践(上) 本文记录自己学习<Flask Web开发——基于Python的Web应用开发实践>的第8章-第14章内容.相比于刚开始学习第1-7章内容来说,本部分内容实战性更强,而且在书本上遇到的问题也相对较少,如果

《Flask Web开发:基于Python的Web应用开发实战》pdf 免费下载

<Flask Web开发:基于Python的Web应用开发实战>pdf 免费下载链接: https://u253469.ctfile.com/fs/253469-292665036 第一部分 Flask 简介第1 章 安装 .........................................................................................................................................

[分享]《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

下载:Flask Web开发第二版<Flask Web开发:基于Python的Web应用开发实战>第二版中文PDF,324页,带目录和书签,文字能够复制粘贴:配套源代码:经典书籍第二版,讲解详细,分三部分,全面介绍如何基于Python微框架Flask进行Web开发. 如图: 原文地址:http://blog.51cto.com/14086980/2320849