Python Flask: 链接管理器和版本管理
来自CloudWiki
目录
链接管理
flask中使用url_for可以获取视图函数路由.
url_for作用
url_for有如下两个常见用法:
- 给指定的函数构造 URL,即获取指定视图函数的连接地址。
- 访问静态文件(CSS / JavaScript 等)。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问
from . import admin # 导入蓝图admin from flask import render_template, redirect, url_for @admin.route("/") def index(): return render_template("admin/index.html") @admin.route("/login") def login(): return render_template("admin/login.html") @admin.route("/logout") def logout(): # return redirect("admin/login") # 直接使用路由 return redirect(url_for("admin.login")) # 使用url_for代替使用直接路由
原文链接:https://blog.csdn.net/qq_36564503/article/details/112855685
入门:Flask原生链接管理器
代码
from flask import Flask,url_for from imooc import route_imooc app = Flask(__name__) @app.route("/") def hello_world(): url = url_for("index") return "Hello World"+url @app.route("/api") def index(): return 'Index pagel' if __name__ == '__main__':#程序入口 app.run(host='0.0.0.0')
效果图
进阶:自建链接管理器
UrlManager
新建目录 common ->libs ->UrlManger.py
class UrlManager(object): def __init__(self): pass @staticmethod def buildUrl( path ): return path @staticmethod def buildStaticUrl(path): return path
引用
from flask import Flask,url_for from common.libs.UrlManager import UrlManager app = Flask(__name__) @app.route("/") def hello_world(): url = url_for("index") url_1 = UrlManager.buildUrl( "/api" ) return "url:" + url+",url_1:" +url_1
效果
进阶:版本管理器
UrlManager
common ->libs ->UrlManger.py:
class UrlManager(object): def __init__(self): pass @staticmethod def buildUrl( path ): return path @staticmethod def buildStaticUrl(path): path = path + "?ver=" + "202205021500" return UrlManager.buildUrl(path)
引用
from flask import Flask,url_for from common.libs.UrlManager import UrlManager app = Flask(__name__) @app.route("/") def hello_world(): url = url_for("index") url_1 = UrlManager.buildUrl( "/api" ) url_2 = UrlManager.buildStaticUrl( "/css/bootstrap.css" ) return "url:" + url+",url_1:" +url_1+",url_2:"+url_2