将变量传递给Django模板

时间:2013-04-29 21:47:31

标签: python django

我是Django的新手并且有一个基本问题。我创建了一个Django模板,并希望将外部变量传递给它,它控制colspan标签。我试了几次,但无法提供变量。我感谢任何帮助。

Python代码:

def getdjtemplate(th_span="1"):
    dj_template ="""
    <table class="out_">
    {# headings #}
        <tr>
        {% for heading in headings %}
            <th colspan={{ %s }}>{{ heading }}</th>
        {% endfor %}
        </tr>
    </table>
    """%(th_span)
    return dj_template

我想我不应该使用它,但不知道如何解决它。

<th colspan={{ %s }}>{{ heading }}</th>

1 个答案:

答案 0 :(得分:1)

您只是返回一个字符串。您必须调用django方法来呈现模板:

from django.template import Context, Template
def getdjtemplate(th_span="1"):
    dj_template ="""
    <table class="out_">
    {# headings #}
        <tr>
        {% for heading in headings %}
            <th colspan={{ th_span }}>{{ heading }}</th>
        {% endfor %}
        </tr>
    </table>
    """
    t = Template(dj_template)
    headings = ["Hello"]
    c = Context({'headings':headings, 'th_span':th_span})
    return t.render(c)