源码如下
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这部分的文档,还是没有理解意思,可以解释一下吗?谢谢:-)
미들웨어는 앱을 패키징하는 데 사용되는 wsgi의 개념입니다. 패키징한 후 패키징된 부분이 호출되기 전후에 다른 처리를 수행할 수 있습니다.
으아악구체적으로
SharedDataMiddleware
는 실제로 정적 콘텐츠(예: js, 사진 등)를 처리합니다. APP를 호출하기 전에 정적 파일을 직접 반환할 수 있는지 확인하고, 그렇다면 APP를 호출하지 않고 직접 반환하세요. 그렇지 않은 경우 계속해서 APP에 전화하세요.Flask의 하단 레이어는 werkzeug를 사용합니다. werkzeug 미들웨어 문서를 살펴보는 것이 좋습니다
오라오토님의 설명도 너무 좋네요.