python-3.x - jinja flask通过python方法渲染侧边栏菜单
问题描述
我在烧瓶/神社上有一个与 base 一起使用的主要布局模板。
我需要通过调用 python 函数在这个 layout.html 中插入动态菜单内容。
可以用 jinha/flask 做吗?
这是我的 layout.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Simple Sidebar</title>
</head>
<body>
<div class="d-flex" id="wrapper">
<!-- Sidebar -->
<div class="bg-light border-right" id="sidebar-wrapper">
<div class="sidebar-heading">Start Bootstrap </div>
<div class="list-group list-group-flush">
{% block sidebar_content %}
------HERE-------
{% endblock sidebar_content %}
</div>
</div>
</div>
</body>
</html>
这是我的 sidebar.html,其中 jinja 通过 sidebar_content 标签注入;
<div class="list-group list-group-flush">
{% block sidebar_content %}
{% endblock sidebar_content %}
</div>
蟒蛇方法:
def render_sidedbar():
sidebar = """
<a href="#" class="list-group-item list-group-item-action bg-light">Overview</a>
<a href="#" class="list-group-item list-group-item-action bg-light">Events</a>
<a href="#" class="list-group-item list-group-item-action bg-light">Profile</a>
"""
return sidebar
可以帮我?谢谢
解决方案
您可能想要使用 jinja2 宏,这里的文档。
您可以通过这种方式动态地创建功能。编写它们可能会很痛苦,但它们非常可以充当简单的 Web 组件。
如果您需要在页面呈现后注入它,您可能需要使用 javascript 实现和 api。
推荐阅读
- android - 反应原生:上传 apk 后,Play 商店有权限问题(CAMERA,RECORD_AUDIO,...)
- php - 具有多个阵列的在线服务器检测
- php - 在 Woocommerce 中自定义我的帐户地址字段
- c# - 如何备份迁移文件夹
- android - 使用工作管理器获取远程异常
- vue.js - Buefy 自动完成搜索 在右侧添加清除图标?
- django - 如果已经创建了对象,则 Django CreateView 重定向到 UpdateView
- javascript - Node JS对后端API的多个并发请求
- java - 如何检索 ArrayList (Java) 的索引?
- javascript - 如何在固定(可滚动)div上获取当前鼠标位置?