Flask整合html模板

“很多同学在DIY自己的web的时候,苦于没有优秀的前端辅助,无法做出好看实用的web,下面介绍一种现在比较实用的整合方法”

01

Jinja2基本用法

在正式开始整合之前,我们先大致说下需要用到的一些知识点:

Jinja2:是Python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,这对大多应用的安全性来说是非常重要的。他基于unicode并能在python2.4之后的版本运行,包括python3。

我们比较常用到的语法有:

1、变量

{ {变量名}}

jinja2模板中使用 { { }} 语法表示一个变量,它是一种特殊的占位符。当利用jinja2进行渲染的时候,它会把这些特殊的占位符进行填充/替换,jinja2支持python中所有的Python数据类型比如列表、字段、对象等。

2、控制结构

{% %}

比如我们常用的for循环

 {% for category in categories %}
<option {
   { 'selected=selected' if item['n_protocol_id']==category.n_id else '' }} value="{
   { category['n_id'] }}">{
   { category.n_id}}</option>
{% endfor %}

3、注释

{# #}

{# 这个是jinja2的注释语法 #}

4、宏

{% macro render_pagination(endpoint,pagination) %}
 <p>这个是jinja2宏的语法形式</p>
{% endmacro%}

5、继承

比如我们的web所有的页面渲染都需要加入一些共同的元素,那么我们可以使用jinja2提供的继承功能来实现

首先我们在base.html某个位置中定义一个块,作为后续继承用

{% block main_content %}
<li><a href="#"> 这个block是基本的元素,后续页面可以用得到</a></li>#}
{% endblock%}
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值