【问题标题】:What {% %} and {{ }} mean in HTML?HTML 中的 {% %} 和 {{ }} 是什么意思?
【发布时间】:2020-12-28 02:18:58
【问题描述】:

我最近开始学习 Django,所以遇到了一些 HTML 模板,但对我来说很陌生,它们主要由 {% 和 {{

例如:

<h1>{{ question.question_text }}</h1>

<ul>
{% for choice in question.choice_set.all %}
    <li>{{ choice.choice_text }} -- {{ choice.votes }} vote{{ choice.votes|pluralize }}</li>
{% endfor %}
</ul>

<a href="{% url 'polls:detail' question.id %}">Vote again?</a>

它们是什么?来自其他语言或 HTML 语法的实现?我也很乐意获得一些文档、网站或示例。

【问题讨论】:

  • 它们被称为 Django 模板语言。 docs.djangoproject.com/en/3.1/ref/templates/language
  • 它是 Jinja2,你需要熟悉它才能正确使用 Django。
  • 首先尝试自己用谷歌搜索。请参阅How do I ask a good question?
  • 欢迎来到 StackOverflow。您提到已经“开始学习 Django”。当您说“学习”时,我会假设教程,研究文档和 Hello World 示例。如果这不是你的方法,我只能推荐给你。

标签: python html django


【解决方案1】:

{% _________ %} 是模板标签。它们用于将标签插入到空间中。示例包括 extendincludeload 等等。它们通常以某种方式扩展、插入或提供某种逻辑功能(如果条件或循环等)。

{{ ___________ }} 语法适用于模板变量。这用于插入一个声明为内置选项之一的变量,或者您从任意数量的方法(模型、视图上下文等)创建的您自己的变量。

Django 文档对所有这些用例都非常详尽。另一个将这些内容列入候选名单以使其易于理解的网站是https://www.djangotemplatetagsandfilters.com/

【讨论】:

  • 模板变量不是 {{ _____ }} 形式吗?
  • 是的,你是对的。每侧都有双花括号。我将编辑答案以反映其他人。
【解决方案2】:

它在 html 本身中没有任何意义,它在 Django 模板语言中意味着某些东西。例如:

{{ choice.choice_text }}

将在模板渲染期间替换该变量的值。

另外一个 {% and %} 用于模板处理,例如向模板处理器指示某些任务需要完成。很好的例子是:

{% if error %}
    {{ error }}
{% endif %}

这意味着变量错误只有在存在时才会显示(渲染),或者更准确地说,如果它有一些值。

【讨论】:

    【解决方案3】:

    您所指的是神社代码。它们对于使用 Django 非常重要,并且当您对 python 和 django 有一般了解时,它们也很容易理解。你可以在这个网址Jinja2 Documentation找到关于jinga的文档

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-31
      • 1970-01-01
      • 2015-10-06
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2023-04-03
      相关资源
      最近更新 更多