0
点赞
收藏
分享

微信扫一扫

Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现

一、链接管理器

​url_for​

链接统一管理的好处:当项目庞大的时候,使用统一管理应对变更的能力就会更强。

from flask import Flask, url_for
app = Flask(__name__)

@app.route('/')
def hello_world():
url = url_for("index")
return 'Hello World' + url

@app.route('/api')
def index():
return 'Index Page'

@app.route('/api/hello')
def hello():
return 'Hello World'

if __name__ == '__main__':
app.run()

Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现_静态文件

可以看到​​url_for​​​可以​​将函数的名称转化为url的地址​​。

創建2个​​Python​​文件夹:

Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现_版本管理_02

创建​​UrlManager.py​​管理类用作链接的管理:

Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现_静态文件_03

class UrlManager(object):
@staticmethod
def buildUrl(path):
return path

@staticmethod
def buildStaticUrl(path):
return path

引入

from flask import Flask, url_for
from common.libs import UrlManager
# from xuhss import route_xuhss
app = Flask(__name__)
# app.register_blueprint(route_xuhss, url_prefix="/xuhss")

@app.route('/')
def hello_world():
url = url_for("index")
url_1 = UrlManager.UrlManager.buildUrl("/api")
return "Hello World,url:%s,url1:%s" % (url, url_1)

Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现_flask_04

二、版本管理

每次将开发代码发布到服务器时,不管是后端代码和前端代码都有版本的概念,浏览器本身有缓存的机制
,如果静态文件不加特殊的标识,前端的静态文件是无法再次获取的。用户看到的仍是缓存的文件,用户看到的不是你看到的。所以才需要版本管理。

每次发布都有一个版本号, 202207121900、202207122000

每一次无论是通过后端的头部,希望知道用户返回的是哪个版本,并且静态文件可以同时获取,所以我们会在静态文件后面加上version字段:

class UrlManager(object):
@staticmethod
def buildUrl(path):
return path

@staticmethod
def buildStaticUrl(path):
path = path + "?ver=" + "202207121900"
return UrlManager.buildUrl(path)

调用:

from flask import Flask, url_for
from common.libs import UrlManager
app = Flask(__name__)

@app.route('/')
def hello_world():
url = url_for("index")
url_1 = UrlManager.UrlManager.buildUrl("/api")
url_2 = UrlManager.UrlManager.buildStaticUrl("/css/bootstrap.css")
return "Hello World,url:%s,url1:%s,url2:%s" % (url, url_1, url_2)

Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现_版本管理_05

這就是版本管理和鏈接管理統一的必要性。


举报

相关推荐

0 条评论