Django 1.1模板问题

Django 1.1模板问题,django,django-templates,Django,Django Templates,我有点被困在django模板的周围 我有两个对象,一个集群和一个节点 我想一个简单的页面,列出 [Cluster 1] [associated node 1] [associated node 2] [associated node 3] [Cluster 2] [associated node 4] [associated node 5] [associated node 6] 我已经使用Django大约两天了,所以如果我没有抓住要点,请温柔一点:) 模型- class Node(mode

我有点被困在django模板的周围

我有两个对象,一个集群和一个节点

我想一个简单的页面,列出

[Cluster 1]
[associated node 1]
[associated node 2]
[associated node 3]

[Cluster 2]
[associated node 4]
[associated node 5]
[associated node 6]
我已经使用Django大约两天了,所以如果我没有抓住要点,请温柔一点:)

模型-

class Node(models.Model):
    name = models.CharField(max_length=30)
    description = models.TextField()
    cluster = models.ForeignKey(Cluster)

    def __unicode__(self):
        return self.name

class Cluster(models.Model):
    name = models.CharField(max_length=30)
    description = models.TextField()

    def __unicode__(self):
        return self.name
观点-

def DSAList(request):

    clusterlist = Cluster.objects.all()
    nodelist = Node.objects.all()

    t = loader.get_template('dsalist.html')
    v = Context({
                 'CLUSTERLIST' : clusterlist,
                 'NODELIST' : nodelist,
               })

    return HttpResponse(t.render(v))
模板-

<body>
    <TABLE>
    {% for cluster in CLUSTERLIST %}
        <tr>
         <TD>{{ cluster.name }}</TD>
                 {% for node in NODELIST %}
                     {% if node.cluster.id == cluster.id %}
                     <tr>
                       <TD>{{ node.name }}</TD>
                     </tr>
                     {% endif %}
                 {% endfor %}
        </tr>
    {% endfor %}
    </TABLE>
</body>

{CLUSTERLIST%中群集的%1}
{{cluster.name}
{节点列表%中节点的%s}
{%if node.cluster.id==cluster.id%}
{{node.name}
{%endif%}
{%endfor%}
{%endfor%}
有什么想法吗?

{%for CLUSTERLIST%中的集群]
{% for cluster in CLUSTERLIST %}
    <tr>
        <td>{{ cluster.name }}</td>
    </tr>
    {% for node in cluster.node_set.all %}
        <tr>
            <td>{{ node.name }}</td>
        </tr>
    {% endfor %}
{% endfor %}
{{cluster.name} {cluster.node_set.all%} {{node.name} {%endfor%} {%endfor%}
编辑:如果你想让集群下面的每一个节点都有自己的一行,你也需要编辑一下你的HTML

{%for CLUSTERLIST%中的群集}
{{cluster.name}
{cluster.node_set.all%}
{{node.name}
{%endfor%}
{%endfor%}
编辑:如果你想让集群下面的每一个节点都有自己的一行,你也需要编辑一下你的HTML


如果您描述了自己遇到的问题,那会很有帮助。但是,在Django 1.1中不能这样做:

{% if node.cluster.id == cluster.id %}
...
{% endif %}
你必须这样做

{% ifequal node.cluster.id cluster.id %}
...
{% endifequal %}

当然,重复这种关系的正确方式是rebus向您展示的方式。

如果您描述了您遇到的问题,这会很有帮助。但是,在Django 1.1中不能这样做:

{% if node.cluster.id == cluster.id %}
...
{% endif %}
你必须这样做

{% ifequal node.cluster.id cluster.id %}
...
{% endifequal %}

当然,迭代这种关系的正确方式是rebus向您展示的方式。

您只需将clusterlist传递给template,然后:

{% for node in cluster.node_set.all %}
     <tr>
        <TD>{{ node.name }}</TD>
     </tr>
{% endfor %}
{%for cluster.node_set.all%}
{{node.name}
{%endfor%}
您的方法还应适用于:

{% for node in NODELIST %}
    {% ifequal node.cluster.id cluster.id %}
        <tr>
          <TD>{{ node.name }}</TD>
          </tr>
    {% endifequal %}
{% endfor %}
{%for NODELIST%中的节点}
{%ifequal node.cluster.id cluster.id%}
{{node.name}
{%endifequal%}
{%endfor%}

您只需将clusterlist传递给模板,然后:

{% for node in cluster.node_set.all %}
     <tr>
        <TD>{{ node.name }}</TD>
     </tr>
{% endfor %}
{%for cluster.node_set.all%}
{{node.name}
{%endfor%}
您的方法还应适用于:

{% for node in NODELIST %}
    {% ifequal node.cluster.id cluster.id %}
        <tr>
          <TD>{{ node.name }}</TD>
          </tr>
    {% endifequal %}
{% endfor %}
{%for NODELIST%中的节点}
{%ifequal node.cluster.id cluster.id%}
{{node.name}
{%endifequal%}
{%endfor%}

您可以通过
Cluster\u obj.Node\u set
访问与
集群
对象关联的
节点
对象。请参阅文档:您可以通过
Cluster\u obj.Node\u set
访问与
集群
对象关联的
节点
对象。查看文档:snap,看到它是不必要的,我忘了提到它在v1.1snap中甚至不受支持,看到它是不必要的,我忘了提到它在v1.1中甚至不受支持