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

Работа с шаблонизатор jinja

19.11.2020, 18:51. Показов 1487. Ответов 2

Студворк — интернет-сервис помощи студентам
Такой вопрос:
Есть сайт, на нем можно перейти в раздел "предметы", в это разделе есть разные уроки "Информатика, физика и т.д.", например, я перехожу в информатику и там все лабы связанные с эти предметом ,и их можно скачать, но в это разделе "информатика" выводятся абсолютно все лабы, которые принадлежат этому предмету и которые не принадлежат, т.е., например, лабы от предмета "физика", хотя я делал привязку лaб к предмету через foreignkey в models. Нужно сделать так, чтобы выводились только те лабы, которые принадлежат информатике(я думаю, что это нужно сделать в jinja, а именно в if)
models.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from django.db import models
 
 
class Lesson(models.Model):
    lesson_title = models.CharField(max_length=50, verbose_name='Урок')
    slug = models.SlugField(unique=True)
    def __str__(self):
        return self.lesson_title
 
 
class Labs(models.Model):
    lesson_title = models.ForeignKey(Lesson, verbose_name='Урок', on_delete=models.CASCADE)
    lab_title = models.CharField(max_length=50, verbose_name='Название лабы')
    file = models.FileField(verbose_name="Файл")
    slug = models.SlugField(unique=True)
 
    def __str__(self):
        return self.lab_title
views.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from django.shortcuts import render
from django.http import Http404, HttpResponseRedirect
from .models import Lesson, Labs
 
 
def index(request):
    return render(request, 'lesson/home.html')
 
def informatics(request):
    try:
        a=Labs.objects.all()
    except:
        raise Http404("Статья не найдена")
    return render(request, 'lesson/detail.html', {'labs': a})
 
 
def list(request):
    labs = Lesson.objects.all()
    return render(request, 'lesson/list.html', {'lesson':labs})
Сама страница, на которой нужно вывести все лабы конкретного предмета.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{% extends 'base.html' %}
 
{% block title %}Информатика{%endblock%}
 
{% block content %}
 
    {% if labs  %}
        {% for c in labs %}
            <h2>{{c.lab_title}}</h2>
            <a href="media/mifirst.rar" download>Скачать</a>
        {%endfor%}
    {% else %}
        Лабы не найдены )=
    {%endif%}
 
{%endblock%}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2020, 18:51
Ответы с готовыми решениями:

Не получается через шаблонизатор Jinja проитерировать число?
Итак, я в файл views.py вставил этот код getScore = artsl.objects.all().values() for i in range(len(getScore)): tuple...

вывести jinja в jinja
есть объект с кодом языка шаблонов {{ table }} этот объект передается в контекст шаблона в шаблоне выводится как {{ body|safe }} и...

Вывод функции через Jinja
Есть фласк приложение, в котором функция парсинга, которая возвращает словарь. Можно ли с помощью шаблонизатора Jinja вывести в веб (не...

2
21 / 12 / 9
Регистрация: 12.02.2020
Сообщений: 126
19.11.2020, 20:39
Python
1
2
3
4
5
def lesson_detail(request, pk):
    args = {}
    args['lesson'] = Lesson.objects.get(pk=pk)
    args['labs_lesson'] = Labs.objects.filter(lesson_title=args['lesson'])
    return render(request, 'lesson/detail.html', args)
В urls
Python
1
path('<int:id>', views.lesson_detail, name='lesson_detail')
В шаблоне lesson/detail.html
Python
1
2
3
4
{% for c in labs_lesson %}
            <h2>{{c.lab_title}}</h2>
            <a href="media/mifirst.rar" download>Скачать</a>
        {%endfor%}
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
20.11.2020, 16:13
Roman020, N+1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2020, 16:13
Помогаю со студенческими работами здесь

NOde js + шаблонизатор pug. Работа с музыкой
Добрый вечер, возник вопрос касательно самого шаблонизатора pug, или же его работы совместно с сервером на node js. Я пишу...

Проблемы при импорте Jinja
Установил через командную строку jinja2, импортировал Template from jinja2 import Template написал код, но после запуска кода...

Не работает Jinja-скрипт при запуске сервера
Здравствуйте. Решил научиться созданию сайтов на Django, но столкнулся с проблемой, что {% Jinja-скрипт %} не работает в html-файлах, хотя...

Как переменную цикла Jinja отобразить в пайтон?
views.py getScore = artsl.objects.all().values() tp = (getScore) return render(request, 'bet/WebBet.html', {'Bet': get,...

Разработка на fastapi с jinja + uvicorn + starlette -- это какая архитектра?)
Добрый вечер, сразу прошу прощение за возможно глупый и банальный вопрос. Если я разрабатываю приложение на fastapi + jinja + uvicorn +...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru