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

Цикл не выводит содержимое модели

19.02.2019, 10:00. Показов 2783. Ответов 14

Студворк — интернет-сервис помощи студентам
Есть модель Category в которой лежат 4 категории, но когда я пытаюсь их вывести через цикл, то ничего не происходит, ошибок на странице сайта и в терминале нет


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
#models.py
from django.db import models
 
# Категории
class Category(models.Model):
    name = models.CharField(max_length=50)
    slug = models.SlugField()
 
    def __str__(self):
        return self.name
 
def generate_filename(instance, filename):
    filename = instance.slug + '.jpg'
    return "{0}/{1}".format(instance, filename)
 
 
# Модель статьи
class Article(models.Model):
    category = models.ForeignKey('Category', on_delete=models.CASCADE)
    title = models.CharField(max_length=120)
    slug = models.SlugField()
    image = models.ImageField(upload_to=generate_filename)
    content = models.TextField()
    likes = models.PositiveIntegerField(default=0)
    dislikes = models.PositiveIntegerField(default=0)
 
 
# Отображ. статьи по названию
    def __str__(self):
        return self.title
Python
1
2
3
4
5
6
7
8
9
10
11
12
#views.py
from django.shortcuts import render
from .models import *
# Create your views here.
 
def post_list(request):
    posts = Article.objects.all()
    return render(request, 'mediaportalapp/index.html', context={'posts': posts})
 
def category_list(request):
    cats = Category.objects.all()
    return render(request, 'mediaportalapp/index.html', context={'cats': cats})
Python
1
2
3
4
#index.html
{% for cat in cats %}
         {{ cat }}
 {% endfor %}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2019, 10:00
Ответы с готовыми решениями:

Написать цикл for, который выводит на экран в столбец числа от 0.3 до 2.7 с шагом 0.2. Переписать этот цикл в цикл while
Пожалуйста помогите с задачами 1.Написать цикл for, который выводит на экран в столбец числа от 0.3 до 2.7 с шагом 0.2. Переписать этот...

Сценарий PHP рассматривает содержимое файла как некоторый каталог и выводит его содержимое в документ HTML
Пользователю предлагается ввести на странице имя некоторого файла в локальной файловой системе сервера. Сценарий PHP рассматривает ...

Цикл do/while. Страница в браузере, уходит в бесконечный цикл и ничего не выводит.
Помогите, страница в браузере, как я понял, уходит в бесконечный цикл и ничего не выводит. Если переменные без ввода обозначить сразу, то...

14
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.02.2019, 10:03
При интересующем вас запросе исполнение заходит в category_list?
0
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35
19.02.2019, 10:12  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
При интересующем вас запросе исполнение заходит в category_list?
Не совсем поняла о чем Вы, если имеете в виду указанно ли в urls.py функция category_list, то да
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.02.2019, 10:20
Alycia, ну это уже полдела Теперь проверьте, что он туда заходит.
Потом выведите, для примера, константную строку (из вьюхи в рендер).
0
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35
19.02.2019, 10:31  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
Теперь проверьте, что он туда заходит.
Потом выведите, для примера, константную строку (из вьюхи в рендер).
Я с django знакома 3 дня и ничего не понимаю можете объяснить или показать как проверить, и что такое константная строка
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.02.2019, 10:51
Alycia, если умеете пользоваться отладчиком - поставьте туда break-point. Запустите.
Если не умеете - поставьте туда print() и выведите что-нибудь в консоль, потом проверьте, что оно там есть.
Константная строка - просто строка.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
19.02.2019, 13:34
Alycia,
Python
1
2
3
def category_list(request):
    cats = Category.objects.all()
    return render(request, 'mediaportalapp/index.html', context={'cats': cats})
после "cats = Category.objects.all()" вставьте строку "print('Ура")" и загляните в консоле после загрузки страницы с url, который указывает на эту функцию. Если там будет "Ура", шаблон отрисовывается, то всё хорошо - просто у вас нет категорий... Если же нет, то функция не отрабатывает - смотрим url и то, как вы его вызываете из шаблона.
0
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35
19.02.2019, 15:14  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
Если же нет, то функция не отрабатывает - смотрим url и то, как вы его вызываете из шаблона.
В терминале не выводится принт, но category_list и post_list у меня настроены одинаково и в url и в шаблоне и функция post_list выводит все что нужно.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.02.2019, 15:17
Цитата Сообщение от Alycia Посмотреть сообщение
В терминале не выводится принт,
Значит, эта ваша функция просто не вызывается.
0
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35
19.02.2019, 15:27  [ТС]
а какая причина у этого может быть
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.02.2019, 15:42
Alycia, сверить, что 1. в urls.py у вас адрес ведёт именно на эту вьюху и 2. в браузере вызываете именно тот url.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
19.02.2019, 16:46
Alycia, покажите urls.py и шаблон, откуда вы вызываете юрл.
0
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35
19.02.2019, 17:30  [ТС]
Python
1
2
3
4
5
6
7
from django.urls import path
from .views import *
 
urlpatterns = [
    path('', post_list),
    path('', category_list)
]
Python
1
2
3
4
5
<li>
      {% for cat in cats %}
           {{ cat }}
      {% endfor %}
 </li>
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
19.02.2019, 17:46
Alycia, а почему у вас один и тот же юрл на две разных вьюхи ссылается?

Добавлено через 2 минуты
попробуйте urls.py изменить так
Python
1
2
3
4
5
6
7
from django.urls import path
from .views import *
 
urlpatterns = [
    path('', post_list, name='post'),
    path('category', category_list, name='category')
]

после чего откройте прежний адрес, только добавьте к нему 'category' в конец.
посмотрите в консоль, вывелся ли принт (если вы его не удалили ещё)
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
19.02.2019, 18:09
Alycia, кривое содержимое urls.py говорит о том, что вы не прошли django quick start. Там это есть. Думаю, стоило бы, во избежание дальнейших глупых вопросов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2019, 18:09
Помогаю со студенческими работами здесь

Разработать программу которая выводит на экран, которая выводит содержимое текущего каталога, упорядоченное по времени
Помогите пожалуйста!! В уинвере не изучали язык С++ а заставляют на нем написать программку (( В общем то вот такую: Разработать...

Напишите программу, которая выводит на экран содержимое файла и выводит сумму чисел файла
Напишите программу, которая выводит на экран содержимое файла D:\numbers.txt. и выводит сумму чисел файла. Вынужден снова просить...

Не обновляется содержимое layout из модели
Есть у меня несколько фрагментов со своими layout`ами, объединённые через FragmentPagerAdapter. Значения контролов в layout заполняются...

For не выводит содержимое
начал учить php и не могу понять почему for не выводит содержимое $mas = &quot;Привет&quot;; $mas = &quot;Hello&quot;; $mas =...

Не выводит содержимое
Добрый вечер! Подскажите пожалуйста, из-за чего не выводится одержимое регистра AX? В чем косяк? Помогите пожалуйста исправить! Спасибо!...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 31.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru