0

我在尝试让 Flask(连同 Flask-Bootstrap)只为我的 HTML 文档生成一个 head 元素时遇到了麻烦。我现在遇到的问题是 head 元素是正确的,但是 Flask 也将它放到了 body 的开头。

/personal_website/app/templates/index.html:

{% extends "bootstrap/base.html" %}
#! I have not changed bootstrap/base.html

{% block head %}
  {{super()}}
  {% block title %}My_Name | Home{% endblock title %}
  {% block styles %}
    {{super()}}
    <link href="{{url_for('static',filename='stylesheets/style.css')}}"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Roboto"
          rel="stylesheet">
  {% endblock styles %}
{% endblock head %}

控制台输出:

  <head>

    <title>My_Name | Home</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Bootstrap -->
    <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <link href="/static/stylesheets/style.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">

  </head>
  <body>
    My_Name | Home


    <!-- Bootstrap -->
    <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <link href="/static/stylesheets/style.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
4

2 回答 2

1

实际上,我可以通过从块头中取出标题中的内容(例如:标题和样式)来纠正这个问题。

/personal_website/app/templates/index.html:

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

{% block title %}My_Name | Home{% endblock %}

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

{% block head %}
  {{ super() }}
{% endblock %}

这仍然允许我从 bootstrap/base.html 继承头部的内容

于 2016-08-20T23:45:20.313 回答
0

我认为您只需要删除此行(可能两次):

{{super()}}
于 2016-08-20T22:41:26.917 回答