Jinja2 не отображается на веб-странице правильно - PullRequest
0 голосов
/ 25 февраля 2020

Использование Django Мне нужно создать базовый веб-сайт c для отображения элементов внутри базы данных SQL на веб-странице. Прямо сейчас я создал шаблон basi c HTML, чтобы начать с него, но поскольку я включил синтаксис Jinja2 в документ HTML, он не показывает корректность. Он показывает весь код Jinja2 в браузере. Если вам нужен другой файл, просто спросите.

views.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import Book

# Functions to display the webpages using the render function when button clicked
def index(request):
    return render(request, "index.html", {})


def books(request):
    return render(request, "books.html", {'Book': Book})


def about(request):
    return render(request, "about.html", {})

index. html

{ % extends "header.html" % }

{ % block content % }
    <article>Article</article>      
    <nav>
        <ul>
            <li><a href="/">Home</a></li>
            <li><a href="/books.html">Books</a></li>
            <li><a href="/about.html">About</a></li>
        </ul>
    </nav>
    <aside>Aside</aside>
{ % endblock % }

header. html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Welcome</title>
    <link rel="stylesheet" href="/static/styles.css">
</head>

<body>
  <header>Header</header>
  <div id="main">
    { % block content % }

    { % endblock % }
  </div>
  <footer>Footer</footer>
</body>

</html>

style. css

* {
    box-sizing: border-box;
}

body {
    margin: 0;
}

#main {
    display: flex;
    min-height: calc(100vh - 40vh);
}

#main > article {
    flex: 1;
}

#main > nav,
#main > aside {
    flex: 0 0 20vw;
    background: gray;
}

#main > nav {
    order: -1;
}

header, footer, article, nav, aside {
    padding: 1em;
}

header, footer {
    background: black;
    color: white;
    height: 20vh;
}

ВЫХОД

enter image description here

1 Ответ

1 голос
/ 28 февраля 2020

Маркировка {% и %} является элементами Jinja c, пробел не допускается, например, между { и %. Просто удалите пробел между ними, тогда Jinja распознает его блочную разметку и правильно отобразит ваш шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...