html中的大括号和百分号是啥意思?

Posted

技术标签:

【中文标题】html中的大括号和百分号是啥意思?【英文标题】:What dose the curly-brace and percent sign mean in html?html中的大括号和百分号是什么意思? 【发布时间】:2013-01-31 00:11:01 【问题描述】:

我正在学习如何在 Django 框架中开发网站。 模板 html 文件有一些我不明白的地方。

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

我不知道这是为什么。

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

【问题讨论】:

@Mansfield php 代码?再试一次。 @Chris。哎呀 :( 我出于某种疯狂的原因想到了 smarty.... < / > 不是“花括号”; / 是“卷曲的” <> 是 called angle brackets or chevrons(适用于不知道如何搜索这些字符的人)。 (我没有足够的声誉来发表评论,所以我会发布一个答案。)正如所指出的,Django 使用 % %。您发布的尖括号 + 百分号 称为“Code Render Blocks”,由 ASP.NET 使用。希望这会有所帮助 【参考方案1】:

首先,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.

【讨论】:

真的,真的。但否则我的答案是正确的,是吗?我会向他添加一个注释,他上面使用的标签不太正确。

以上是关于html中的大括号和百分号是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

XAML 中的花括号实际上是啥意思?

Visual Studio 中的大括号逗号语法是啥?

java中@RequestMapping注解指定的路径value后面的大括号里面的字符串是啥意思啊!

在c语言中 if(0)是啥意思

排列组合中的大括号怎么算

C语言中 For语句后面的括号里有两个分号是啥意思啊?