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

wechat xuhss 695℃ 0评论

一、链接管理器

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()

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

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

創建2个Python文件夹:

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

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

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

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)

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

二、版本管理

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

每次发布都有一个版本号, 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)

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

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

转载请注明:xuhss » Python flask实战订餐系统微信小程序-10链接管理器和链接管理器的初步实现

喜欢 (3)

您必须 登录 才能发表评论!