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的时候,一定要将动态参数名+参数值添加进去,否则会抛出参数错误的异常

最新文章

  1. Mvc与WebForm优缺点及Mvc的使用
  2. POJ2505 A multiplication game[博弈论]
  3. mysql基础知识扫盲
  4. Android requires compiler compliance level 5.0 or 6.0. Found &#39;1.8&#39; instead. Please use Android Tools&gt;Fix project Properties.
  5. vim编译运行java程序
  6. ContentControl 与 ViewModel (一)
  7. 苹果审核Metadata Rejected
  8. Python新手学习基础之函数-可变参数**
  9. IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示
  10. SourceTree 无法查看组织仓库
  11. Java版本APP接口安全设计
  12. Elasticsearch设置最大返回条数
  13. qrcode插件生成二维码
  14. visio操作
  15. .py文件 改成默认用idle打开
  16. 微信编辑器 wxEditor 最牛逼的富文本编辑器
  17. @PathVariable与@RequestParam的区别
  18. WordPress基础:wp_list_pages显示页面信息列表
  19. vuex 温故而知新 mapState的使用
  20. libcurl开源库在Win32程序中使用下载文件显示进度条实例

热门文章

  1. foreach(增强for循环)和for的区别
  2. 模拟赛DAY 2 T2不老梦
  3. oracle 11g不能导出空表的解决方法
  4. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_2_练习_使用递归计算1-n之间的和
  5. python 字典zip使用
  6. 应用安全-安全设备-Waf系列-软Waf-安全狗(Safedog)
  7. [11期]绕过安全狗、云锁等各大WAF注入,上传深入自动化Bypass攻击
  8. ementUi rules表单验证 --》Wangqi
  9. [Web 前端] 002 html 常用行行级元素
  10. mysql忘记密码/修改密码