源码如下
class Flask(object):
def __init__(self, package_name):
if self.static_path is not None:
self.url_map.add(Rule(self.static_path +'/<filename>',
build_only=True, endpoint='static'))
if pkg_resources is not None:
target = (self.package_name, 'static')
else:
target = os.path.join(self.root_path, 'static')
self.wsgi_app = SharedDataMiddleware(self.wsgi_app, {
self.static_path: target
})
看了werkzeug这部分的文档,还是没有理解意思,可以解释一下吗?谢谢:-)
Le middleware est un concept dans wsgi, utilisé pour empaqueter votre application. Après l'empaquetage, vous pouvez effectuer d'autres traitements avant et après l'appel de la partie empaquetée :
Plus précisément,
SharedDataMiddleware
gère en fait le contenu statique (tel que js, images...) Avant d'appeler l'APP, vérifiez si le fichier statique peut être renvoyé directement. Si tel est le cas, revenez directement sans appeler l'APP. sinon, continuez à appeler l'APP.La couche inférieure du flacon utilise werkzeug. Il est recommandé de jeter un œil au document werkzeug middlewares
L’explication d’oraoto est également très bonne.