2016-04-18 64 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