2014-01-25 57 views
1

所以我已经完成了django教程,但我不喜欢它的一件事是,当你回答一个问题时,你无法点击进入下一个民意调查。例如,如果你localhost:8000/polls/页面看起来像:django'民意调查'教程 - 从一个民意调查到另一个调查

red or white? 
black or blue? 
Who is your favourite Beatle? 

然后我想能回答第一个民意调查(红色或白色),然后从该按钮通常说移动到“黑色或蓝色”问题再次投票。

我对python和django非常陌生,但我猜测它只需要在polls/results.html{% url 'polls:detail' poll.id %}">Vote again?语句中调整为“+1”。

什么是调整? 谢谢,

+0

你保存答案分贝,可以提供多个用户投票? – mariodev

+0

所有的问题都是单选按钮,因此数据库总是保存提交的答案和多少次。不知道如何去做这个开放式问题 – tomb

回答

1

如果你的投票对象具有的DateField或DateTimeField字段是不可为空:

pub_date = models.DateTimeField(...) 

然后你可以ge t基于该日期时间的下一个对象,其中get_next_by_FOO方法是django的automatically added

在模板然后你可以有:

{% with next=object.get_next_by_pub_date %} 
    {% if next %} 
     <a href="{% url 'polls:detail' next.id %}">next</a> 
    {% endif %} 
{% endwith %} 
0

results视图中,您可以添加一个变量next_question,如:

next_question = None 
try: 
    next_question = Question.objects.filter(id__gt=question_id)[:1][0] 
except IndexError: 
    pass 

而且在模板:

{% if next_question %} 
    <a href="{% url 'polls:detail' next_question.id %}">Next question</a> 
{% endif %}