以任意顺序包含Django模板

时间:2013-10-26 22:37:17

标签: python django django-templates

我正在使用单独的模板文件来创建“窗口小部件” - 在页面上以网格布局显示的HTML片段。主模板包括这样的小部件模板:

{% include "myapp/widgetA.html" %}
{% include "myapp/widgetB.html" %}
{% include "myapp/widgetC.html" %}
{% include "myapp/widgetD.html" %}

这很好用,但我希望用户能够更改窗口小部件的显示顺序。我将用户的首选顺序存储在元组中,例如:('widgetC', 'widgetB', 'widgetA', 'widgetD')

如何在模板中处理此问题?

1 个答案:

答案 0 :(得分:1)

您可以遍历模板中的元组:

{% for widget in my_widgets %}
    {% include widget %}
{% endfor %}

您视图中的my_widgets = ('myapp/widgetC.html', 'myapp/widgetB.html', 'myapp/widgetA.html', 'myapp/widgetD.html')