django ругается на строку, где я использую шаблонный тег % for rubric in rubrics %

файл by_rubric.html

<html>
    <head>
        <meta http-equiv="Content-Type" 
        content = "text/html; charset = utf-8">
        <title>{{ current_rubric.name}} - Доска объявлений</title>
    </head>
    <body>
        <h1>Объявления</h1>
        <h2>Рубрика: {{current_rubric.name }}</h2>
        <div>
            <a href="/bboard/">Главная</a>
            {% for rubric in rubrics %}
            <a href = "/bboard/ {{ rubric.pk }}/">{{ rubric.name }}</a>
            <% endfor %>
        </div>
        {% for bb in bbs %}
        <div>
            <h2>{{ bb.title }}</h2>
            <p>{{ bb.content}}</p>
            <p>{{ bb.published|date:"d.m.Y H:i:s" }}</p>
        </div>
        {% endfor %}
    </body>
</html>

файл views.py


from .models import Bb

from. models import Rubric

def by_rubric(request, rubric_id):
    bbs = Bb.objects.filter(rubric=rubric_id)
    rubrics = Rubric.objects.all()
    current_rubric = Rubric.objects.get(pk=rubric_id)
    context = {'bbs': bbs, 'rubrics': rubrics, 'current_rubric': current_rubric}
    return render(request, 'bboard/by_rubric.html', context)

def index(request):
    bbs = Bb.objects.all()
    rubrics = Rubric.objects.all()
    context = {'bbs': bbs, 'rubrics': rubrics}
    return render(request, 'bboard/index.html', context)

файл urls.py

from django .urls import path
from .views import index, by_rubric
urlpatterns = [
    path('<int:rubric_id>/', by_rubric),
    path('', index),
    ]

Ответы (1 шт):

Автор решения: Arseni Mourzenko

Правильно ругается. Посмотрите, тег вы открыли так:

{% for rubric in rubrics %}

А потом у вас стоит:

<% endfor %>

Открытые теги нужно закрывать.

→ Ссылка