首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >龙卷风的几个静态目录

龙卷风的几个静态目录
EN

Stack Overflow用户
提问于 2016-09-08 10:32:41
回答 1查看 397关注 0票数 1

我们正在建造基于龙卷风的uServices。有些路由对于所有uServices来说都是常见的,目前是healthdocs。docs路由是使用Swagger构建的。这意味着,swagger路由和相关资产是公共库的一部分(但不包括与uService相关的文档本身),这只是uServices的一个需求。

因为swagger需要静态资产,而每个uService也需要自己的静态资产,所以我有一个问题:我的静态资产来自两个完全不同的地方。我发现了一个(非常不方便)的黑客来解决这个问题:

  1. 跟踪公共回购中的静态资产
  2. 跟踪uService回购中的静态资产
  3. 部署时,将这些静态资产从两个源复制到部署静态文件夹(并希望没有冲突)。
  4. 将部署静态文件夹指定为static_path

第三步非常复杂,因为它涉及到pip--安装公共库,在那里查找资产(已经被黑客攻击),然后复制它们:

  • 用pip安装公共库
  • 查找已安装库(site-packages)的位置
  • 将静态资产复制到部署静态文件夹中。

如果像template_path一样,有一个每个应用程序的静态文件夹是可能的,那就容易多了:

代码语言:javascript
复制
> Return None to load templates relative to the calling file.

我一直在网上搜索,似乎是this is not possible,但我想再检查一遍。

另一种方法是简化从打包的python模块中提取资产的过程,但不确定这样做的首选方法是什么,而不必重复在virtualenv中搜索site-packages的黑客攻击。

EN

回答 1

Stack Overflow用户

发布于 2016-09-08 12:34:41

使用static_path设置无法做到这一点,但只要不需要static_url()函数,就可以在URLSpec列表中创建多个StaticFileHandler条目:

代码语言:javascript
复制
Application([
    ('/static1/(.*)', tornado.web.StaticFileHandler, dict(path='static1')),
    ('/static2/(.*)', tornado.web.StaticFileHandler, dict(path='static1')),
])

作为static_url的替代,您可以调用StaticFileHandler.make_static_url并传递给它如果使用static_path将是全局的参数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39388641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档