Flask路由
@app.route()
methods:当前url地址,允许访问的请求方式
@app.route("/info", methods=["GET", "POST"])
def student_info():
stu_id = int(request.args.get("id"))
return f"{stu_id}" # Python3.6的新特性 f"{变量名}"
endpoint:反向生成url地址,默认为视图函数名,导入url_for
from flask import Flask, url_for app = Flask(__name__) @app.route("/index",methods=["POST","GET"],endpoint="index_s")
def index():
return url_for("index_s") #index if __name__ == '__main__':
app.run(debug=True)
strict_slashes:url地址结尾符"/"的控制,默认为True:结尾不能的"/",False:无论结尾是否有"/"均可以访问
from flask import Flask, url_for app = Flask(__name__) #访问地址 /index
@app.route("/index",strict_slashes=True)
def index():
return url_for("index_s") #访问地址:/login 或 /login/
@app.route("/login",strict_slashes=False)
def login():
return '欢迎' if __name__ == '__main__':
app.run(debug=True)
defaults : 视图函数的参数默认值{"nid":1}
from flask import Flask, url_for app = Flask(__name__) @app.route("/index", defaults={"nid": 1})
def index(nid):
print(nid)
return "哈喽" if __name__ == '__main__':
app.run(debug=True)
redirect_to:url地址重定向,301永久重定向,在进入视图函数之前跳转
from flask import Flask, url_for app = Flask(__name__) @app.route("/index", redirect_to="/login")
def index(id):
print(id)
return "光临" @app.route("/login")
def login():
return '欢迎' if __name__ == '__main__':
app.run(debug=True)
动态路由参数
接受文件名,返回文件
<int:id>:只能是数字
from flask import Flask, url_for app = Flask(__name__) @app.route("/index/<int:a>",) #访问 http://127.0.0.1:5000/index/1
def index(a):
print(a) #
return "光临" if __name__ == '__main__':
app.run(debug=True)
<string:str>:可以是数字也可以是字符串
from flask import Flask, url_for app = Flask(__name__) @app.route("/index/<string:str>",)
def index(str):
print(str)
return "光临" if __name__ == '__main__':
app.run(debug=True)
也可以不用定义类型,默认接受字符串
from flask import Flask, url_for app = Flask(__name__) @app.route("/index/<name>",)
def index(name):
print(name)
return "光临" if __name__ == '__main__':
app.run(debug=True)
Flask路由的更多相关文章
- 一、Flask路由介绍
Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是So ...
- Flask - 路由系统
目录 Flask - 路由系统 @app.route()装饰器中的常用参数 methods : 当前 url 地址,允许访问的请求方式 endpoint:反向url地址,默认为视图函数名(url_fo ...
- Flask路由系统
Flask路由系统 我们之前了解了路由系统是由带参数的装饰器完成的. 路由本质:装饰器和闭包实现的. 设置路由的两种方式 第一种: @app.route('/index') def index(): ...
- Flask ——路由系统
Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...
- flask路由和视图和cookie
什么是路由 """ 客户端(例如web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例. 程序实例需要知道对每个URL请求运行那些代码,所以 ...
- Flask -- 路由
route()装饰器把一个函数绑定到对应的URL(可以是多个)上 @app.route('/') def index(): return 'Index Page' @app.route('/hello ...
- Flask路由&视图
1 路由 1.1app.url_map 查看所有路由 from flask import Flask app = Flask(__name__) @app.route('/') def hello_ ...
- flask 第二章 endpoint重名 Flask路由 初始化配置 Falsk Config 蓝图+目录结构
今日内容 1.路由的分发,以下两种方式效果一样,但是都能指向同一个函数 from flask import Flask app=Flask(__name__) #第一种方式 @app.route('/ ...
- Flask路由与蓝图Blueprint
需求分析: 当一个庞大的系统中有很多小模块,在分配路由的时候怎么处理呢?全部都堆到一个py程序中,调用@app.route? 显然这是很不明智的,因为当有几十个模块需要写路由的时候,这样程序员写着写着 ...
- Flask路由报错:raise FormDataRoutingRedirect(request)
raise FormDataRoutingRedirect(request)FormDataRoutingRedirect: A request was sent to this URL (http: ...
随机推荐
- 如何下载kubenetes最新的rpm包?
一,新增aliyun的软件仓库 tee /etc/yum.repos.d/kubernetes.repo <<-'EOF' [kubernetes] name=Kubernetes bas ...
- sinoces 2013 消费电子
转眼距离上次看消费电子(http://www.cnblogs.com/sun8134/archive/2012/07/08/2581997.html)又过了一年 也到了今年的消费电子展… 结果一天小雨 ...
- virtualenv and virtualenvwrapper
virtualenv 1.下载virtualenv工具 通过物理环境的pip工具安装 清华 国内 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/ ...
- Kudu之Tablet的发现过程
当创建Kudu客户端时,其会从主服务器上获取tablet位置信息,然后直接与服务于该tablet的服务器进行交谈.为了优化读取和写入路径,客户端将保留该信息的本地缓存,以防止他们在每个请求时需要查询主 ...
- php 操作数据库
$datetoday = date('Y-m-d'); $datetime = $thedate; $data_info = $data; $db = array( 'dsn' => 'mysq ...
- appium---第三个脚本,进入评论页,发表评论
#进入编辑页,点击编辑框,固定光标 #com.xxx.xxx:id/edit__content drive.find_element_by_id('/edit_content').click(); t ...
- Practice| 流程控制
若整数a除以非零整数b,商为整数,且余数为零, 我们就说a能被b整除(或说b能整除a),a为被除数,b为除数,即b|a("|"是整除符号),读作"b整除a"或& ...
- 爬虫之 beautifusoup4
1. 使用方法 2.解析器 3. 详细用法 4. find_all方法 5. 遍历文档树
- 解决Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another proce...
解决Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another proce... ...
- 搭建JMETER+ANT自动化接口测试环境步骤(一)
一.环境准备: 1.JDK 下载 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html ...