Jinja无法在HTML文件中呈现

时间:2017-06-09 18:24:58

标签: html flask jinja2

这可能是某种愚蠢的误解,但我试图在我的HTML文件中包含一些Jinja代码,就像我在github上找到的这个文件一样:

{% extends "bootstrap/base.html" %}

{% block title %}
Demo App
{% endblock %}

{% block styles %}
{{super()}}
<link rel="stylesheet" href="{{url_for('.static', filename='starter-
template.css')}}">
{% endblock %}

{% block content %}
    <nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Project name</a>
    </div>
    <div id="navbar" class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="{{ url_for('login') }}">Login</a></li>
        <li><a href="{{ url_for('signup') }}">Sign Up</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</nav>

<div class="container">

  <div class="starter-template">
    <h1>Bootstrap starter template</h1>
    <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
  </div>

</div><!-- /.container -->
{% endblock %}

您会看到Jinja代码包含在“{%...%}”中。但是,当我在Web浏览器中运行此文件时,我会收到以下信息:enter image description here

正如您在屏幕截图顶部看到的那样,Jinja不是执行Jinja代码,而是被视为HTML文本。如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

jinja模板不应该在浏览器中查看。在请求时,flask将生成并提供从模板生成的正确html。