2016-04-18 110 views
0

創建多維數組在models.py:Django的蟒蛇在views.py

class PUser(models.Model): 
     phone = models.TextField(blank=True, null=True) 
     email = models.TextField() 
     txt = models.TextField(blank=True, null=True) 

我想創建爲多維數組。

現在這是我在功能views.py:

def main(request): 
    users = [] 
    for i in range (5): 
     for a in range(3): 
      users[i][a] = PUser.objects.all() 
return render(request, 'main.html', {'users': users}) 

但我知道它不是正確的,它不工作。

我該如何編輯它?

以及main.html中的代碼應該如何?

例如,我在考慮諸如{{ users[2][3] }}之類的東西。代碼應該如何? (我看過同樣的問題,但不適合我有用)

回答

3

由於PUser.objects.all()回報PUser對象的數組,你就必須寫:

def main(request): 
    users = PUsers.objects.all() 
    return render(request, 'main.html', {'users': users}) 

,並在您的模板,反覆users陣列:

{% for user in users %} 
    {{ user.phone }} 
    {{ user.email }} 
    {{ user.txt }} 
{% endfor %} 

如果你想打印一個特定的用戶,可以通過指定其索引:

{{ users[3].phone }} 
{{ users[3].email }} 
{{ users[3].txt }} 
# or 
{{ users.3.phone }} 
{{ users.3.email }} 
{{ users.3.txt }} 
+0

但正如我注意到我想使用'{{用戶[2] [3]}}'。我想選擇我想要的索引並將其放在我的文件代碼中的不同位置。我不想在一個地方一個接一個地打印所有的文件,所以不想使用「for循環」。我希望能夠選擇在代碼的哪個位置打印哪個索引。 – niloofar

+0

我添加了一個例子來打印一個特定的用戶:) –

+0

通過使用'{{users [3] .phone}}'我遇到了這個錯誤:'無法解析餘數:'[3] .phone'from'user [3] .phone'' – niloofar