Flask之路由相关
2024-08-23 20:14:08
1.装饰器中的参数
@app.route("/info", methods=["GET", "POST"])
def student_info():
stu_id = int(request.args["id"])
return f"Hello Old boy {stu_id}" # Python3.6的新特性 f"{变量名}"
2.endpoint反向的url地址,默认为视图的函数名(url_for )
from flask import url_for
@app.route("/info", methods=["GET", "POST"], endpoint="r_info")
def student_info():
print(url_for("r_info")) # /info
stu_id = int(request.args["id"])
return f"Hello Old boy {stu_id}" # Python3.6的新特性 f"{变量名}"
3.defaults 视图函数中的默认参数值
from flask import url_for,Flask
app = Flask(__name__)
@app.route("/info", methods=["GET", "POST"], endpoint="r_info", defaults={"nid": })
def student_info(nid):
print(url_for("r_info")) # /info
# stu_id = int(request.args["id"])
print(nid) #
return f"Hello Old boy {nid}" # Python3.6的新特性 f"{变量名}"
app.run(debug=True)
4.strict_slashes=True 是否严格遵循路由地址 (url地址结尾符"/"的控制 False : 无论结尾 "/" 是否存在均可以访问 , True : 结尾必须不能是 "/")
# 访问地址 : /info
@app.route("/info", strict_slashes=True)
def student_info():
return "Hello Old boy info" # 访问地址 : /infos or /infos/
@app.route("/infos", strict_slashes=False)
def student_infos():
return "Hello Old boy infos"
5. redirect_to : url地址重定向
from flask import Flask
app = Flask(__name__)
# 访问地址 : /info 浏览器跳转至 /infos
@app.route("/info", strict_slashes=True, redirect_to="/infos")
def student_info():
return "Hello Old boy info" @app.route("/infos", strict_slashes=False)
def student_infos():
return "Hello Old boy infos"
app.run(debug=True)
6.subdomain 子域名前缀
app.config["SERVER_NAME"] = "pythonav.com" @app.route("/info",subdomain="DragonFire")
def student_info():
return "Hello Old boy info" # 访问地址为: DragonFire.pythonav.com/info
7.动态路由参数
from flask import Flask
app = Flask(__name__)
from flask import url_for # 访问地址 : http://127.0.0.1:5000/info/1
@app.route("/info/<int:nid>", methods=["GET", "POST"], endpoint="r_info")
def student_info(nid):
print(url_for("r_info",nid=)) # /info/
return f"Hello Old boy {nid}" # Python3.6的新特性 f"{变量名}"# 访问地址为: DragonFire.pythonav.com/info
app.run(debug=True)
注意:
<int:nid> 就是在url后定义一个参数接收
但是这种动态参数路由,在url_for的时候,一定要将动态参数名+参数值添加进去,否则会抛出参数错误的异常
最新文章
- Mvc与WebForm优缺点及Mvc的使用
- POJ2505 A multiplication game[博弈论]
- mysql基础知识扫盲
- Android requires compiler compliance level 5.0 or 6.0. Found &#39;1.8&#39; instead. Please use Android Tools>;Fix project Properties.
- vim编译运行java程序
- ContentControl 与 ViewModel (一)
- 苹果审核Metadata Rejected
- Python新手学习基础之函数-可变参数**
- IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示
- SourceTree 无法查看组织仓库
- Java版本APP接口安全设计
- Elasticsearch设置最大返回条数
- qrcode插件生成二维码
- visio操作
- .py文件 改成默认用idle打开
- 微信编辑器 wxEditor 最牛逼的富文本编辑器
- @PathVariable与@RequestParam的区别
- WordPress基础:wp_list_pages显示页面信息列表
- vuex 温故而知新 mapState的使用
- libcurl开源库在Win32程序中使用下载文件显示进度条实例
热门文章
- foreach(增强for循环)和for的区别
- 模拟赛DAY 2 T2不老梦
- oracle 11g不能导出空表的解决方法
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_2_练习_使用递归计算1-n之间的和
- python 字典zip使用
- 应用安全-安全设备-Waf系列-软Waf-安全狗(Safedog)
- [11期]绕过安全狗、云锁等各大WAF注入,上传深入自动化Bypass攻击
- ementUi rules表单验证 --》Wangqi
- [Web 前端] 002 html 常用行行级元素
- mysql忘记密码/修改密码