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: ...
随机推荐
- 下载中间件--随机IP代理以及随机User_Agent
下载中间件随机IP代理以及随机User_Agent 1.在settings.py中设置开启代理功能 # 设置下载中间件 DOWNLOADER_MIDDLEWARES = { # 随机的 User-Ag ...
- cmake方式使用vlfeat
目录 environment statement compile vlfeat with cmake compile example project with cmake 1. make sure c ...
- base | AtomicIntegerT类
1. 原子自增操作 type __sync_fetch_and_add (type *ptr, type value) 2. 原子比较和交换(设置)操作 type __sync_val_compare ...
- 关于k8s安装脚本方面的草稿
周六作的, 慢慢完善. #! /usr/bin/env bash set -e set -u set -x #让此脚本可以重复执行,所以加了一些判断 #使用系统的PATH环境 export PATH= ...
- DBEntityEntry类
DBEntityEntry是一个重要的类,可用于检索有关实体的各种信息.您可以使用DBContext的Entry方法获取特定实体的DBEntityEntry实例. DBEntityEntry允许您访问 ...
- (1).NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型
开发工具:VS2017 .Net Core 2.1 什么是微服务?单体结构: 缺点:1)只能采用同一种技术,很难用不同的语言或者语言不同版本开发不同模块:2)系统耦合性强,一旦其中一个模块有问题,整个 ...
- Windows下80端口被进程System占用的解决方法
最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经 ...
- Migrating your code from 9.3 to 10.x
刚发现ArcGIS Objects SDK提供了一个代码升级分析工具,用于辅助将程序从9.3升级到10.X:ArcGIS Code Migration Analyzer. 安装sdk后,在vs2010 ...
- Orleans2.0正式版发布
2.0版本支持.net core. Orleans是一个微软研究创建的用于大规模分布式计算的框架,使用者不需要学习和应用复杂的并发或其他缩放模式. 根据我几个项目的使用经验来说,Orleans虽然有应 ...
- 写面向对象的新Process
import multiprocessing class mypro(multiprocessing.Process): def __init__(self,a,b): super().__init ...