首页 > 解决方案 > Jinja2 格式不适用于 Raspberry Pi

问题描述

我正在尝试使用 Flask 在 Rasberry Pi 中创建一个基本网站。

我在渲染 html 时遇到错误。

我尝试使用 Jinja 格式,但不知何故它不起作用。

{% extends 'base.html' %}
{% block body %}

<h2>{the_title}</h2>
<form method="POST" action="/search4">
<table>
<p>Use this form to submit a search request:</p>
<tr><td>Pharse:</td><td><input name="pharse" type="TEXT" width="60"</td></tr>
<tr><td>Letters:</td><td><input name="letters" type="TEXT" value="aeiou"</td></tr>
</table>
<p>when you are ready,click this button:</p>
<p><input value="DO it" type="SUBMIT"</p>
</form>

{% endblock %}

基本模板代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>{{the_title}}</title>
</head>
<body>

{ % block body % }

{ % end block %}

</body>
</html>

我现在得到什么输出:-

输出

我的python代码在这里:-

from vsearch import search4letters
from flask import Flask,render_template

app = Flask(__name__,template_folder='templates')

@app.route('/')
def hello()-> str:
    return 'Hello world from Flask'

@app.route('/serach4')
def do_search() -> str:
    return str(search4letters('life! the universe,and everything','eiru!'))


@app.route('/entry/')
def entry_page():
    return render_template('entry.html',the_title = """\ Welcome 
    to search4letters on the web!""")

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

基本的html页面有问题吗?

那么,为什么 Jinja2 不能理解格式呢?
还是我做错了什么?

你能在这方面帮助我吗?

标签: flaskjinja2

解决方案


不要在 Jinja2 模板中的{ }和之间放置空格:%

{ % block body % }

{ % end block %}

如果有空格,它将被视为常规 HTML 字符串,而不是Jinja2 模板。此外,它应该是endblock(一个词)而不是end block.

它应该是:

{% block body %}

{% endblock %}

推荐阅读