IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【已解决】Flask渲染模板 -> 正文阅读

[Python知识库]【已解决】Flask渲染模板

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

实验效果

在这里插入图片描述

核心思路

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

核心代码

在项目中创建templates,文件夹结构如下
在这里插入图片描述
index.html如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello</title>
</head>
<body>
<h1>Welcome to Flask</h1>
</body>
</html>

user.html如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello</title>
</head>
<body>
<h1>Hello,{{name}}</h1>
</body>
</html>

python核心代码如下

from flask import Flask,render_template

app = Flask(__name__)

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


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


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

Jinjia中的变量

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

<p>从字典中取一个值:{{mydict['key']}}.</p>
<p>从列表中取一个值:{{mylist[3]}}.</p>
<p>从列表中取一个带索引的值:{{ mylist[myinvar]}}.</p>
<p>从对象的方法中取一个值:{{myobj.somemethod()}}.</p>

同样也可以用过滤器

Hello,{{name|capitalize}}

常用过滤器

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

控制结构

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

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

循环结构

<ul>
{% for comment in comments %}
<li>{{ comment }}</li>
{% endfor %}
</ul>

python中的函数

{% macro render_comment(comment)%}
<li>{{ comment }}</li>
{% endmacro %}
<ul>
{% for comment in comments %}
{{ render_comment(comment)}}
{% endfor %}
</ul>

导入宏另存为宏

重复使用宏

{% import 'macros.html' as macros %}
<ul>
{% for comment in comments %}
{{ macros.render_comment(comment)}}
{% endfor %}`在这里插入代码片`
</ul>
{% include 'common.html'%}

模板继承

<html>
<head>
{% block head %}
<title>{%block title%}{% endblock %}-My Application </title>
</head>
<body>
{% block body %}
{% endblock %}
</body>
</html>

衍生模板

{% extends "base.html"%}
{% block title %}Index{%endblock %}
{% block head %}
{{super()}}
<style>
</style>
{% endblock %}
{%block body%}
<h1>Hello,World</h1>
{% endblock %}

总结

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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 11:50:09  更:2021-10-19 11:51:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:32:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码