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】Flask响应请求与模板引擎 -> 正文阅读

[Python知识库]【Flask】Flask响应请求与模板引擎

Flask响应请求与模板引擎

响应请求

响应html

@index_page.route("/text")
def text():
    return "text/html"
@index_page.route("/text_same")
def text_same():
    response = make_response("text/html",200)
    return response

响应json

@index_page.route("/json")
def json():
    import json
    data = {"a":"b"}
    response = make_response(json.dumps(data))
    response.headers["Content-Type"] = "application/json"
    return response

@index_page.route("/json_same")
def json_same():
    data = {"a" : "b"}
    response = make_response(jsonify(data))
    return response

**模板响应 **

@index_page.route("/template")
def template():
	return render_template("index.html") #注意index.html在templates文件夹下

相见如下所示Jinja2模板引擎。

模板引擎

Jinja2用于前后端不分离项目。

基本语法

html文件中的代码

var name = {{name}} 
{% if user %}
{{ user.nickname }} 联系QQ:{{user.qq}}主页:{{user.home_page}}
{% endif %}
 {% for tmp_num in num_list %}
 {{ tmp_num }}
 {% endfor %}

对应python代码:

@index_page.route("/template")
def template():
    #传值
    name = "test01"
    context = {"name":name}
    context['user'] = {'nickname':'小叮当',"qq":"1660219734","home_page":"banshengua.top"}
    context['num_list'] = [1,2,3,4,5]

    return render_template("index.html",**context)
   # return render_template("index.html",name)

  • 模板继承

Jinja中最强大的部分就是模板继承。

模板继承允许你构建一个包含你站点共同元素的基本模板“骨架”,并定义子模块可以覆盖的块。

(类似于QT中QSS的语法,例如,#QPushButton{xxx},对当前ui文件中的所有QPushButton部件进行统一的美化。)其实也不是很贴切。

{% extends "common/layout.html" %}

{% block content %}

hello i am extend_template

{% endblock %}

common/layout.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这是统一模板</title>
</head>
<body>
{% block content %} {% endblock %}
</body>
</html>

对应python调用

@index_page.route("/extend_template")
def extend_template():
    return render_template("extend_template.html")

项目结构:

image-20220508003141224

这里的layout就是一个通用的模板。extend_template.html和extend_template_other.html在layout.html基础上进行修改。(例如:子类重写父类)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:36:21  更:2022-05-09 12:37:13 
 
开发: 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 15:10:15-

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