html文件 保持在,如何修改jinja2,使CSS和JavaScript在包含的文件中保持相应的HTML?...

这是我的第一个问题,我很乐意接受任何关于改进的建议。温柔点:)

为了提高可维护性,我尝试将CSS、JS和HTML放在同一个文件中。对于include文件或宏等,这变得很困难。最终输出template.render()应该获取所有CSS和JS,并将其放在基本HTML模板的顶部和底部。在

举例说明我的意思:

基本.html

{{ print_css() }}

{% include 'bolded_text.html' %}

{{ print_js() }}

加粗_文本.html

^{pr2}$

输出当然是:

strong {

background: #ccc;

}

{% include 'bolded_text.html' %}

alert('javascript included!')

可以预见的是,问题是print_css()什么也不输出。在

我尝试使用上下文过滤器来实现这一点,其中add_js和{}附加到上下文中的一个变量,然后print_css和{}输出该变量。这对于JavaScript来说非常简单,因为print语句遵循所有过滤器。在

但是,我想不出一种方法来使用CSS。如果我可以使print_css()调用变懒,或者以某种方式交换jinja2ast中的输出,那可能会奏效。我试图避免对字符串的非法操作(例如在底部输出CSS,然后使用regex将其移动到顶部)。在

我想也许有一种方法可以优雅地实现这一点,而我对jinja2的低级API的经验是有限的。在

非常感谢您的帮助,谢谢!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值