gpt4 book ai didi

python-3.x - 找不到 Jinja 嵌套模板

转载 作者:行者123 更新时间:2023-12-03 16:21:31 24 4
gpt4 key购买 nike

我的 flask 项目中有以下结构:

app
-app
-static
-templates
-layouts
footer.html
header.html
main.html
search.html
__init__.py
app.py
MANIFEST.in
setup.py

在app.py中:

@app.route('/search')
def show_search_form():
return render_template('search.html')

搜索.html:

{% extends "layouts/main.html" %}

{% block body %}

Test

{% endblock %}

main.html

{% include 'header.html' %}

{% block content %}

{% endblock %}

{% include 'footer.html' %}

标题.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>App</title>
</head>
<body>

页脚.html

</body>
</html>

如您所见,我将 main.html 扩展为 search.html 并使用(在本例中)“Test”作为要注入(inject)到正文 block 中的内容。但它不起作用,我收到以下错误:

jinja2.exceptions.TemplateNotFound: header.html

代码有什么问题吗?

最佳答案

由于您的 footer.html 和 header.html 文件位于布局目录下,因此您需要在主模板中引用它们:

ma​​in.html

{% include 'layouts/header.html' %}

{% block content %}

{% endblock %}

{% include 'layouts/footer.html' %}

关于python-3.x - 找不到 Jinja 嵌套模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49091565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com