首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Django中显示选定的投票选项和总体结果

在Django中显示选定的投票选项和总体结果,可以通过以下步骤实现:

  1. 首先,在Django的项目中创建一个投票应用(polls)并定义相关的模型。可以使用Django提供的模型字段来定义投票问题(Question)和选项(Choice)的模型,例如:
代码语言:txt
复制
from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
  1. 接下来,创建相应的视图函数来处理投票的显示和结果。在视图函数中,可以使用Django的模板系统来渲染投票页面,并将选项和结果传递给模板进行显示。例如:
代码语言:txt
复制
from django.shortcuts import render, get_object_or_404
from .models import Question

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, 'polls/detail.html', {'question': question})

def results(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, 'polls/results.html', {'question': question})
  1. 在模板文件中,可以使用Django的模板语法来显示选项和结果。在投票详情页面(detail.html)中,可以使用表单来显示选项,并将表单提交到投票结果页面。在投票结果页面(results.html)中,可以使用模型中定义的字段来显示选项和对应的投票结果。例如:
代码语言:txt
复制
<!-- detail.html -->
<h1>{{ question.question_text }}</h1>
<form action="{% url 'polls:results' question.id %}" method="post">
    {% csrf_token %}
    {% for choice in question.choice_set.all %}
        <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}">
        <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br>
    {% endfor %}
    <input type="submit" value="Vote">
</form>

<!-- results.html -->
<h1>{{ question.question_text }}</h1>
<ul>
    {% for choice in question.choice_set.all %}
        <li>{{ choice.choice_text }} - {{ choice.votes }} vote{{ choice.votes|pluralize }}</li>
    {% endfor %}
</ul>

通过以上步骤,就可以在Django中显示选定的投票选项和总体结果。在投票详情页面,用户可以选择一个选项并提交投票,然后跳转到投票结果页面,显示各个选项的投票结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券