在 jinja 模板中时:
- 提供给 {%extends xxx_string%} 和 {% include xxx_string%} 的字符串如何解析?
- 这是相对于实际文件系统还是生成的命名空间(例如使用 Flask.url_for 函数时)?
最终,我想在我的模板内使用相对导入(我不想更新每个模板内的文件系统位置,相对于蓝图)。我希望能够:
- 将实际的蓝图包及其嵌套的静态/模板资源存储在任意文件系统路径下。('/bob/projects/2013_07/marketanalysis')
- 在 python 蓝图包中,定义一个单独的“slugname”来引用蓝图实例及其所有资源。在应用程序上注册此 slugname 以供全局引用。(没有全局名称冲突或竞争条件)
- 具有提供“千篇一律”布局的通用视图功能,具体取决于蓝图的使用方式(标题、封面、介绍、全文、引文)
- 在内部,在蓝图包的文件系统中,在解析模板内的 extends()/include() 时使用相对路径名(类似于
url_for
引用相对蓝图视图时的快捷方式)。
这个想法是,当蓝图包与其所有资源捆绑在一起时,它不知道它将被部署在哪里,并且可能会在不同的 slug-names下多次重定位。每个“bundle”的 python界面应该是相同的,但是每个 bundle 的 html 内容、css、javascript 和图像/下载将是唯一的。
我已经把这个问题尖锐了很多。我认为这是该线程应有的内容。