Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
 Аватар для t_forward
0 / 0 / 0
Регистрация: 24.02.2021
Сообщений: 51

Error during template rendering In template C:\Python\Django 3\samplesite\bboard\templates\layout\bas­ic.html, error at

18.07.2021, 21:17. Показов 7127. Ответов 6

Студворк — интернет-сервис помощи студентам
Пишу сайт на Django по книги Дронова. Использую Django 3.0. И в главе 2.7 "Наследование шаблонов" вылезает ошибка: Error during template rendering

In template C:\Python\Django 3\samplesite\bboard\templates\layout\bas ic.html, error at line 0
Reverse for 'by_rubric' with arguments '('',)' not found. 1 pattern(s) tried: ['bboard/(?P<rubric_id>[0-9]+)/$']
что делать, и как может быть ошибка в строке 0?
Basic.html:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>{% block title %}Главная{% endblock %} :: Доска объявлений</title>
</head>
<body>
<header>
    <h1>Объявления</h1>
</header>
    <nav>
         <a href="{% url 'index' %}">Главная</a>
        <a href="{% url 'add' %}">Добавить</a>
        {% for rubric in rubrics %}
        <a href="{% url 'by_rubric' rubric.pk %}">{{ rubric.name }}</a>
        {% endfor %}
    </nav>
<section>
  {% block content %}
  {% endblock %}
  {% block paginator %}
  {% endblock %}
</section>
</body>
</html>
index.html:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{% extends "layout/basic.html" %}
{% block content %}
    {% for bb in bbs %}
    <div>
        <h2>{{ bb.title }}</h2>
        <p>{{ bb.content }}</p>
        <p><a href="{% url 'by_rubric' bb.rubric.pk %}">{{ bb.rubric.name }}</a></p>
        <p>{{ bb.published|date:"d.m.Y H:i:s" }}</p>
    </div>
    {% endfor %}
{% endblock %}
{% block paginator %}
        {% if page.has_previous %}
        <a href="?page={{ page.previous_page_number }}">&lt;</a>
        &nbsp;&nbsp;|&nbsp;&nbsp;
        {% endif %}
        Часть №{{ page.number }} из {{ page.paginator.num_pages }}
        {% if page.has_next %}
        &nbsp;&nbsp;|&nbsp;&nbsp;
        <a href="?page={{ page.next_page_number }}">&gt;</a>
        {% endif %}
{% endblock %}
Ошибка вылезает при переходе на страницу http://127.0.0.3:8000/bboard/?page=2. Там применяется пагинация.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.07.2021, 21:17
Ответы с готовыми решениями:

Ошибка с django.Template.Template
Из учебника djbook: http://djbook.ru/ch04s02.html В самом начале представлен пример использования шаблонов: &gt;&gt;&gt; from django...

Fatal error: Uncaught Error: syntax error, unexpected 'endif' (T_ENDIF) in /template-parts/content.php on line 35
Привет всем! Столкнулся с проблемой: не отображаются статьи на сайте. Точнее перестали отображаться и выдает ошибку Fatal error:...

Parse error: syntax error, unexpected T_STRING in Z:\home\localhost\www\Photogram\root\registration\template\i
Помогите пожалуйста, в чем ошибка, не могу понять( Parse error: syntax error, unexpected T_STRING in...

6
21 / 12 / 9
Регистрация: 12.02.2020
Сообщений: 126
18.07.2021, 23:12
Специально скачал книгу и посмотрел главу 2.7... И ты знаешь, что-то не нашел я там пагинацию...
Пришли функцию с пагинацией
1
 Аватар для t_forward
0 / 0 / 0
Регистрация: 24.02.2021
Сообщений: 51
19.07.2021, 09:38  [ТС]
Roman020 пагинацию я сам делал, но тоже по книги.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from django.shortcuts import render
from django.core.paginator import Paginator
from django.views.generic.edit import CreateView
from django.urls import reverse_lazy
 
from .models import Bb
from .models import Rubric
from .forms import BbForm
 
class BbCreateView(CreateView):
    template_name = 'bboard/create.html'
    form_class = BbForm
    success_url = reverse_lazy('index')
 
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['rubrics'] = Rubric.objects.all()
        return context
 
def index(request):
    bbs = Bb.objects.all()
    rubrics = Rubric.objects.all()
    paginator = Paginator(bbs,5)
    if 'page' in request.GET:
        page_num = request.GET['page']
    else:
        page_num = 1
    page = paginator.get_page(page_num)
    context = {'bbs': bbs, 'rubrics': rubrics,'page': page, 'bbs':page.object_list}
    return render(request,'bboard/index.html',context)
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)
    paginator = Paginator(bbs, 5)
    if 'page' in request.GET:
        page_num = request.GET['page']
    else:
        page_num = 1
    page = paginator.get_page(page_num)
    context = {'bbs': bbs, 'rubrics': rubrics, 'page': page, 'bbs': page.object_list,'current_rubric':current_rubric}
    return render(request,'bboard/by_rubric.html',context)
index.html:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{% extends "layout/basic.html" %}
{% block content %}
    {% for bb in bbs %}
    <div>
        <h2>{{ bb.title }}</h2>
        <p>{{ bb.content }}</p>
        <p><a href="{% url 'by_rubric' bb.rubric.pk %}">{{ bb.rubric.name }}</a></p>
        <p>{{ bb.published|date:"d.m.Y H:i:s" }}</p>
    </div>
    {% endfor %}
{% endblock %}
{% block paginator %}
        {% if page.has_previous %}
        <a href="?page={{ page.previous_page_number }}">&lt;</a>
        &nbsp;&nbsp;|&nbsp;&nbsp;
        {% endif %}
        Часть №{{ page.number }} из {{ page.paginator.num_pages }}
        {% if page.has_next %}
        &nbsp;&nbsp;|&nbsp;&nbsp;
        <a href="?page={{ page.next_page_number }}">&gt;</a>
        {% endif %}
{% endblock %}
0
21 / 12 / 9
Регистрация: 12.02.2020
Сообщений: 126
19.07.2021, 10:35
Два раза повторяется ключ 'bbs' с разными значениями

https://djangodoc.ru/3.1/topics/pagination/
0
 Аватар для t_forward
0 / 0 / 0
Регистрация: 24.02.2021
Сообщений: 51
19.07.2021, 21:24  [ТС]
Roman020 я убрал пагинацию, но всё тоже самое
0
21 / 12 / 9
Регистрация: 12.02.2020
Сообщений: 126
19.07.2021, 21:48
Откуда у тебя взялась ссылка вида ?page=2?
У тебя же прописан путь ['bboard/(?P<rubric_id>[0-9]+)/$'], и соответственно в функции def by_rubric(request,rubric_id): указан id рубрики.

У тебя ссылка должна быть вида: http://127.0.0.3:8000/bboard/2/. Где вместо 2 свой id рубрики
0
1 / 1 / 0
Регистрация: 19.07.2022
Сообщений: 1
19.07.2022, 22:50
Я нашел опечатку в книге.
Нужно писать
Python
1
{% extends "./layout/basic.html" %}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.07.2022, 22:50
Помогаю со студенческими работами здесь

Error template module Yii
Много инфы в нете по етоум поводу, но все таки что то не так выходит. Нужно вывести собственную страничку 404 ошибку в модуле, чтобы на...

Error: template declaration of (Code::Blocks)
Помогите побороть ошибки. Код:#include &lt;cstdlib&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Error while building/deploying project Template
Доброе утро! Впервые пришлось собрать проект на кьюте, потому вообще ничего о нем не знаю и уже наткнулась на кучу ошибок при попытке...

Rad studio template class error
файл Block.h //--------------------------------------------------------------------------- #ifndef BlockH #define BlockH ...

Error: '>>' should be '>>' within a nested template argument list
кто знает че за ошибка, как с ней бороться? 000615.cpp: In function 'int main()':


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru