@gromyko21

Как правильно сделать каталог товаров Django?

Всем привет. Пишу сайт на Django и возник вопрос, как сделать правильно каталог товаров(если есть готовый скрипт, или пример - кидайте. Буду благодарен)?
Это не интернет магазин то есть функции корзины и покупки не нужны. Нужно загружать данные из админки(сначала новые reverse почему-то не работает так как я хочу) и автоматически создавать новую страницу, когда в админку загрузили 9 товаров.
Основной вопрос: как выгружать сначала новые данные и создавать новые страницы каталога при заполнении? Пример на фото.5ec8b38a19f44814843732.png
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 2
В файле view:
from django.shortcuts import render


def index(request):
    name_query = Post.objects.order_by('-pub_date')
    return render(request, 'shop/index.html', context={'data_name_query': name_query}


В файле index.html:
...
{% for some in data_name_query %}
    {{ some.title }}
{% empty %}
    <p>Нет данных для построения</p>
{% endfor %}
...


Пояснения:
  1. Обязательно убедитесь, что у вас подключен render в файле view
  2. name_query - вы вольны назвать, как вам удобно
  3. Post - это название класса в файле model.py, к которому идёт запрос
  4. order_by('-pub_date') - сортировка по полю "pub_date", а "-" сортирует в обратном порядке
  5. 'shop/index.html' - путь до вашего html файла
  6. context - данные, которые будут переданы в html файл (я указал название данных как data_name_query, вы вольны называть, как вам удобно)
  7. В файле index.html перебираем полученные данные из context. Переменную назвали "data_name_query", поэтому обращаемся в цикле к нему, вытаскиваем из него объект и присваиваем ему имя "some"
  8. {{ some.title }} - это обращение к определенному полю, которое вы указывали в model.py определённому классу
Ответ написан
@bacon
Вам точно нужен тут Django, а не какая-то CMS? А то по вопросу похоже, что вы вообще не понимаете что и как.
1. При чем тут reverse?
2. Что значит выгружать сначала новые? отсортировать queryset или что?
3. Новые страницы создаются автоматически, надо один раз написать для них view
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы