Django 教程第 3 部分 - 代码说明

Posted

技术标签:

【中文标题】Django 教程第 3 部分 - 代码说明【英文标题】:Django Tutorial Part 3 - Code Clarification 【发布时间】:2017-08-21 16:00:20 【问题描述】:

这里是 Django 新手。我正在做 Django 教程,虽然我可以盲目地遵循代码,但我只是对它的工作原理感到困惑。我知道 % code % 是允许我们将 python 代码插入到 html 中的,我没有得到的是行:

<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】:

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!

【讨论】:

以上是关于Django 教程第 3 部分 - 代码说明的主要内容,如果未能解决你的问题,请参考以下文章

Django 教程第 3 部分 - /polls/ 中的 NoReverseMatch

教程第 3 部分的 Django NoReverseMatch 错误

编写你的第一个 Django 应用程序,第4部分

Django 教程:模板和视图

Django 教程第 2 部分 - 注册后应用程序未显示在管理员上

编写你的第一个 Django 应用半成品