加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

在html中,花括号和百分号的含义是多少?

发布时间:2020-12-14 18:45:44 所属栏目:资源 来源:网络整理
导读:我正在学习如何在Django框架中开发网站. 关于模板html文件,我有些不明白的地方. 我看到本教程使用大括号(%if ...%%endif%等)在代码中嵌入逻辑.但是,当我尝试在非Django服务器(Apache)中使用此语法时,此语法未被解释,我可以看到我的%if ...% ……就在我
我正在学习如何在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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读