栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【已解决】Flask渲染模板

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【已解决】Flask渲染模板

本博文源于Flask基础,旨在讲解如何用Flask渲染网页模板

实验效果

核心思路

flask是利用了Jianjia2模板,只需要知道flask如何调用Jinjia2即可。Flask提拱的render_template函数把Jinjia2模板引擎集成到了程序中,render_template函数第一个参数是模板的文件名。随后的参数就是个键值对,表示模板中变量对应的键值对。这里使用一个例子。

核心代码
from flask import Flask,render_template

app = Flask(__name__)

# 视图函数
@app.route('/')
def hello_world():
    return render_template('index.html')


@app.route('/user/')
def show_user_profile(username):
    # 显示该用户名的用户信息
    return render_template('user.html',name=username)


if __name__ == '__main__':
    app.run(debug=True)

Jinjia中的变量

刚才使用的变量{{name}},现在学习一下常用的字典取出值的变量

从字典中取一个值:{{mydict['key']}}.

从列表中取一个值:{{mylist[3]}}.

从列表中取一个带索引的值:{{ mylist[myinvar]}}.

从对象的方法中取一个值:{{myobj.somemethod()}}.

同样也可以用过滤器

Hello,{{name|capitalize}}

常用过滤器

名称说明
safe渲染时不转义
capitalize把值的首字母转换成大写,其他字母转换成小写
lower把值转换成小写形式
upper把值转换成大写形式
title把值中每个单词的首字母都转换成大写
trim把值的首尾空格去掉
striptags渲染之前把值中所有的HTML标签都删掉
safe渲染时不转义
控制结构

控制结构包括条件控制,循环控制

{% if user %}
Hello, {{user}}!
{% else %}
Hello,Stranger!
{% endif %}

循环结构

    {% for comment in comments %}
  • {{ comment }}
  • {% endfor %}
python中的函数
{% macro render_comment(comment)%}
  • {{ comment }}
  • {% endmacro %}
      {% for comment in comments %} {{ render_comment(comment)}} {% endfor %}
    导入宏另存为宏

    重复使用宏

    {% import 'macros.html' as macros %}
    
      {% for comment in comments %} {{ macros.render_comment(comment)}} {% endfor %}`在这里插入代码片`
    {% include 'common.html'%}
    
    模板继承
    
    
    {% block head %}
    {%block title%}{% endblock %}-My Application 
    
    
    {% block body %}
    {% endblock %}
    
    
    
    

    衍生模板

    {% extends "base.html"%}
    {% block title %}Index{%endblock %}
    {% block head %}
    {{super()}}
    
    {% endblock %}
    {%block body%}
    

    Hello,World

    {% endblock %}
    总结

    flask作为轻量级框架,挺不错的。

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/331020.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号