Django教程第3部分 - 代码澄清

时间:2017-03-28 14:12:21

标签: html5 python-3.x django-templates

Django新手在这里。我正在做Django教程,虽然我可以盲目地遵循代码,但我很困惑这是如何工作的。我得到{%code%}是允许我们在html中插入python代码的东西,我得不到的就是这行:

<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}

我想解释一下变量的两个花括号如何转换为该变量的字符串表示。

我问,因为我尝试在我自己的解释器中进行类似的操作,并没有得到相同的结果。

{% if latest_question_list %}
    <ul>
    {% for question in latest_question_list %}
        <li><a href="/polls/{{ question.id }}/">{{ question.question_text }}
</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No polls are available.</p>
{% endif %}

1 个答案:

答案 0 :(得分:2)

{{ variable }} syntax in Django templates用作变量的占位符

如果要查看它在控制台上的工作方式,请启动django shell:

$ django-admin shell
>>> from django.template import engines
>>>
>>> django_engine = engines['django']
>>> template = django_engine.from_string("Hello {{ name }}!")
>>> context = {'name': 'John'}
>>> template.render(context)
Hello John!