2014-01-25 110 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 %}