在模板中访问变量上下文名称

时间:2019-12-16 21:58:22

标签: django django-templates django-views

我只是发现Django,但我还是个傻瓜。

我有一个返回多个查询集的视图。

this.mapBehavior.disable(window.H.mapevents.Behavior.WHEELZOOM)
this.mapBehavior.disable(window.H.mapevents.Behavior.PINCH_ZOOM)
this.mapBehavior.disable(window.H.mapevents.Behavior.DBL_TAP_ZOOM)
this.mapBehavior.enable(window.H.mapevents.Behavior.DRAGGING)

然后在我的模板中,我想动态访问那些名称上下文。那就是我被困住的地方。

 from itertools import combinations
 x = combinations(lst,2)

如何评估a.res_route,以便a.res_route返回视图传递的上下文?非常感谢你!

  

{a.res_route%中d的%}

1 个答案:

答案 0 :(得分:1)

我建议您在模型中添加一种方法来访问第二个查询:

class Tblsummary(models.Model):
    ... # or whatever is there currently

    def sub_routes(self):  # name this how you'd like
        return Tblsummary.objects.filter(res_route=self.res_route)

然后在您的模板中:

<table>
{% for a in allroute %}
    <tr>
        <td>{{ a.res_route }}</td>
        <td>{{ a.hcalls }}</td>
    </tr>
    {% for d in a.sub_routes %}
        <tr>
            <td>{{ d.res_route }}</td>
            <td>{{ d.hcalls }}</td>
        </tr>
    {% endfor %}
{% endfor %}

从效率的角度来看,这并不是理想的选择,因为sub_routes中的每个条目都会对allroute查询进行一次调用,但是现在allroute限于4个结果,因此不应在实践中不是问题。