gpt4 book ai didi

django - 花括号和百分号在html中是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 13:59:55 25 4
gpt4 key购买 nike

我正在学习如何在 Django 框架中开发网站。关于模板 html 文件,我有些不明白。

我看到教程使用大括号(<% if ... %> <% endif %> 等)在代码中嵌入逻辑。但是当我尝试在非 Django 服务器 (Apache) 中使用此语法时,此语法未被解释,我可以看到我的 <% if ... %> ...就在我的页面上。

我不知道这是为什么。

所以这个语法不是 HTML 的一部分,而是 Django 的一部分,所以它可以被它解释?

最佳答案

首先,Django 模板语言的正确标签是 {% %} ,而不是 <? ?> .

你是对的,这是 Django 的一部分。这是 domain specific language 的示例,正如维基百科所说,这是一种为特定任务而发明的语言。在这种情况下,Django 模板语言是为处理模板而构建的。

之所以有效,是因为 Django 带有一个 parser解释语言并理解它。解析器采用在 HTML 或任何其他语言中可能没有意义的字符串,例如 {% block pasta %} 并将其转换为有意义的内容。在这种情况下,它最终输出 HTML。

碰巧您可以用任何语言编写自己的解析器来解释 Django 模板语言,甚至可以完全编写一种新语言。但是,随着您的语言变得越来越复杂,此类任务的难度也会增加,并且还取决于您选择的语言。众所周知,PHP 的解析能力很差,而其他语言如 Perl 则以其更擅长解析而著称。一般来说,只输入 run a search 会容易得多。并使用预构建的解析器而不是重新发明轮子。虽然这当然是一种不那么有趣的方式:)

p.s. This might be of interest to you.

关于django - 花括号和百分号在html中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com