2013-04-22 21 views
1

我有一个用户模型和用户的大学属性。我希望用户能够浏览大学列表并选择一个作为按钮,我不希望有下拉选择。所以,我在UserInfo.UNIVERSITY_CHOICES传递(UserInfo是一对一的与用户模式),以我的模板,并尝试使用来遍历它:Django模板遍历元组列表并给他们所有的按钮

<form method="get" action="/newUniversity/"> 
{% csrf_token %} 

    {% for school in universityList %} 
     <input class='submitbtn' type="submit" name="school" value="{{ school }}"></center> 
    {% endfor %} 
</form> 

但是我得到了一堆按钮的那说('Harvard','Harvard')而不只是哈佛。我试图通过执行school[1]来索引元组,但是这给了我一个错误。有没有办法做到这一点或我是否完全错误的方式?

回答

3

如果UserInfo.UNIVERSITY_CHOICES是元组(像那些你将与Django管理使用),你必须选择你是哪一个数值后:

school.0 

school.1 

通知Django的模板语言不是Python!你可以在这里看到该语言的参考: https://docs.djangoproject.com/en/dev/topics/templates/

+0

给我6分钟,我可以接受这个答案。这只是我不了解python的一个问题。我以为你用括号索引元组。 – 2013-04-22 23:36:39

+0

你这样做,但在这种情况下,你实际上使用Django的模板语言,而不是Python本身。它们是两种不同的野兽:https://docs.djangoproject.com/en/dev/topics/templates/ 虽然Django的模板语言试图有点类似于python,但它的方式更受限于它的功能。 – Nathan 2013-04-22 23:38:38