我有一个相当简单的设置。我创建了一个烧瓶应用程序并在路径'/'上调用index.html。
index.html包含:
{% extends "template.html" %}
{% block content %}
<h4 class="centeredText">
HEADER TEXT
</h4>
{% for p in paragraph %}
<p class="centeredText">
{{ p }}
</p>
{% endfor %}
{% endblock %}
我的template.html也非常简单:
<html>
<link rel="stylesheet" media="screen" href = "{{ url_for('static', filename='bootstrap.min.css') }}">
<link rel="stylesheet" media="screen" href = "{{ url_for('static', filename='custom.css') }}">
<link rel="stylesheet" media="screen" href = "{{ url_for('static', filename='custom_navbar.css') }}">
<link href='http://fonts.googleapis.com/css?family=Josefin+Sans:300' rel='stylesheet' type='text/css'>
<!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css"> -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<head>
<h1>{% if pageType = 'home' %} HOME {% endif %}</h1>
</head>
<body> <h1>TEMPLATE</h1>
<div class="container">
{% block content %}
{% endblock %}
</div>
</body>
</html>
测试时我收到此错误:
expected token 'end of statement block', got '='
编辑:我错过了在template.html的标题中包含变量。我现在知道,这是错误的来源。无论如何将变量传递给template.html,还是不好的做法?
帮助!
答案 0 :(得分:1)
pageType
变量应该出现在您的template.html中,只要您将其传递给render_template
函数即可。在您的情况下,这里有语法错误:
{% if pageType = 'home' %}
您需要使用==
,因此它应如下所示:
{% if pageType == 'home' %}