002.Flask模板基础规范

1.修改模板的索引路径:
 
  
app = Flask(__name__,template_folder="模板路径")
2.在HtML模板中引用数据:
 
   
{{ 要引用的数据名称 }}
例:<title> {{ title }}</title>
3.在HTML模板中定义执行代码:
 
   
{% 要执行的逻辑代码 %}
例:{% for person in persons %}
<tr>
<td>{{ person.name }}</td>
<td>{{ person.age }}</td>
<td>{{ person.gender }}</td>
</tr>
{% endfor%}
4.在HTML模板中注释
 
   
{#要注释的内容#}
例:{#  
<p>这是一个注释的你看不到</p> <p>这是另外一行的注释</p>
#}
5.在HTML模板中使用`url_for`可以反转一个视图函数为`url`
 
   
......
@app.route('/')
def hello_world():
return render_template('index.html','index')
@app.route('/login/')
def login():
return render_template('login.html','login')
......
 
   
index.html  
......
<a href="{{ url_for('login') }}">连接到登录页面</a>
......
6.在HTML模板中引入一个模板
 
   
......
{% include 'index/headers.html' %}
新闻列表
{% include 'index/footers.html' %}
......
7.在HTML模板中为指定参数赋值
 
   
......
{% set name='xiaotuo' %}
<p>{{ name }}</p>
......
8.属性访问规则
# Jinja2中访问字典的方式有两种:
1. 使用 `python`的语法进行访问,以点的形式进行访问:
 
   
...
<p>标题:{{ movie.title }}</p>
...
查找顺序如下:     * 先去查找foo的bar这个属性,也即通过getattr(foo,'bar')。     * 如果没有,就去通过foo.__getitem__('bar')的方式进行查找。     * 如果以上两种方式都没有找到,返回一个undefined。 2. 直接使用原生字典的方式进行访问,示例如下:
 
   
...
<p>标题:{{ movie['title'] }}</p>
...
查找顺序如下:
    * 通过foo.__getitem__('bar')的方式进行查找。
    * 如果没有,就通过getattr(foo,'bar')的方式进行查找。
    *如果以上没有找到,则返回一个undefined。
9.模板的继承
1. 继承的好处:
    * 可以复用父类的代码,节省开发时间。
    * 还可以针对自己的需要进行重写,比较灵活。
2.  `Flask`中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来,放在父模板中,并且父模板通过定义 `block`的形式给子模板开一个口,子模板根据需要,再实现这个 `block`
3. 子模板通过 `{%extends 'path/base.html'%}`的形式继承模板。
4. 子模板如果想实现一些自己的功能,那么代码必须要放在父模板定义好的 `block`,否则将显示不出来。
5. 使用 `{{super()}}`可以把父类的这个 `block`中的代码继承下来。
6. 使用 `{{self.blockname()}}`可以把 `blockname`这个 `block`中的代码直接引用到当前位置。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值