@Domohod

Как мне вывести данные из модели Django?

У меня есть три страницы, на которых можно проголосовать за 1 объект.
На них вы нажимаете на кнопку "Choose" и результат выводится на главной странице.

black.html
<form method="POST">
    {% csrf_token %}

        <button  class="button_b" name="choose" value="black">
            <h1 style="color: white">
                <strong>Choose</strong>
            </h1>
        </button>

        <h1 style="color: red">{{ count_black }}</h1> <!-- временный просмотр голосов-->
    </form>


models.py

#models.py
from django.db import models


class Choose(models.Model):
     count_black = models.PositiveIntegerField(default=0)
     count_white = models.PositiveIntegerField(default=0)
     count_purple = models.PositiveIntegerField(default=0)


Моя проблема заключается в том, что я не знаю, как объявить объект модели в views.py.
Мне известно, что вместо "Choose" должна быть переменная, которая берет объекты из класса Choose и использует параметры QuerySet, а так же в последствии использовать эту переменную в context. Однако я не знаю, какие именно параметры мне нужно прописать, чтобы голоса учитывались. Прошу мне помочь.

views.py
def black(request):

    #пример переменной: name = Choose.objects.all()

    if request.method == 'POST':
        select_action = request.POST['choose']

        if select_action == 'black':
            Choose.count_black += 1

        # return redirect("home")
    Choose.save()

    return render(request, 'registration/black.html')
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
alfss
@alfss
https://career.habr.com/alfss
Что бы был выбор из коробки, нужно сделать модель в которой есть 1 поле и enum.
https://docs.djangoproject.com/en/4.0/ref/models/f...
Ответ написан
Ваш ответ на вопрос

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

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