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

2023-12-23

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

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

我不知道这是为什么。

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


首先也是最重要的,Django 模板语言的正确标签是{% %}, 并不是<? ?>.

你是对的,这是 Django 的一部分。这是一个例子领域特定语言 http://en.wikipedia.org/wiki/Domain-specific_language,正如维基百科所说,这是一种为特定任务而发明的语言。在这种情况下,Django 模板语言是为了处理模板而构建的。

它之所以有效是因为 Django 附带了一个parser http://en.wikipedia.org/wiki/Parsing#Programming_languages解释语言并理解它。解析器采用在 HTML 或任何其他语言中可能没有意义的字符串(例如 {% block Pasta %})并将其转换为有意义的内容。在这种情况下,它最终输出 HTML。

您可以用任何语言编写自己的解析器来解释 Django 模板语言,甚至完全编写一种新语言。但是,随着您的语言变得更加复杂,此类任务的难度也会增加,并且还取决于您选择的语言。 PHP 的解析能力是出了名的差,而 Perl 等其他语言则更擅长解析。一般来说,更容易并使用预先构建的解析器而不是重新发明轮子。虽然这当然是一种不太有趣的方式:)

附注您可能对此感兴趣。 https://github.com/django/django/blob/master/django/template/__init__.py

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

html 中的大括号和百分号是什么意思? 的相关文章

随机推荐

  • 需要指导 ASP.Net 应用程序连接字符串

    Net 2 0 Visual Studio 2005 ASP Net Web 应用程序 我在这个网站上阅读了很多帖子和评论 但有些帖子和评论对我来说太混乱了 无法遵循 或者其他帖子和评论不符合我的要求 所以我有一个 3 层应用程序 UI B
  • 如何在 SQL Server 中设置简单的计算字段?

    我有一个包含几个帐户字段的表 如下所示 MAIN ACCT GROUP ACCT SUB ACCT 我经常需要像这样组合它们 SELECT MAIN ACCT GROUP ACCT SUB ACCT FROM ACCOUNT TABLE 我
  • 如何使用 Java 10 检测拉链炸弹

    Apache POI 定期打开 zip 文件 因为 Microsoft Excel Word 文件是较新格式的 zip 文件 为了防止某些类型的拒绝服务攻击 它具有在打开 Zip 文件时不读取大量扩展的文件的功能 因此可以通过提供一个小的恶
  • Google Cloud Storage `predefinedAcl` 和 `file.makePublic()` 不起作用

    当我从 Firebase Cloud Functions Google Cloud Functions 将文件上传到 Firebase Storage Google Cloud Storage 时 我尝试获取永久下载 URL 我尝试设置pr
  • 在 Android 上调整 GridView 中的图像大小

    我按照本教程创建了一个GridView http developer android com guide tutorials views hello gridview html 这行 imageView setLayoutParams ne
  • iOS进程内部 - 如何获取信息?

    我正在寻找一个 API 来监视在普通 iPhone 未越狱 上运行的任务 这些是关于 查找CPU使用情况 我主要关心的问题 查找内存使用情况 查找磁盘使用情况 有多少读 写 查看网络使用情况 网络发送和接收的字节数 3G Wifi GSM
  • PHP/MySQL - SQL 语法错误?

    现在当我提交角色时 当我提交单词时 我收到下面列出的以下错误 除此之外一切正常 我在用htmlentities 我仍然收到此错误 如何防止此错误发生 有没有办法可以允许 转换或停止该字符 表单显示为错误 这是我得到的错误 You have
  • 在节点中使用 apollo -(无反应)

    我想使用 apollo 进行一些批量更新 我需要从节点启动批处理脚本 例如node myscript js 我不知道该怎么做 是否有一个简单的示例可以执行入门中描述的操作 https www apollographql com docs r
  • 如何使用存储库接口在 Spring Data 中通过其嵌套对象的 objectId 查找集合?

    我在 MongoDB 中有一个集合 其中包含如下项目 id ObjectId 53e4d31d1f6b66e5163962e3c name bob nestedObject id ObjectId 53f5a623cb5e4c1ed4f6c
  • 在适用于 iOS 的 HTML5 中包含 SVG

    我想在 HTML5 网页中包含 SVG 图像 通过 JavaScript 与此 SVG 交互 并应用 CSS 样式 如果可能的话 我更愿意将 SVG 保存在单独的文件中 我希望能够离线使用该网页 因此希望推荐的任何解决方案都与此兼容 请有人
  • 使用通用键值对对字典列表列表中的值求和

    如何对字典列表列表中的重复元素求和 样本清单 data user 1 rating 0 user 2 rating 10 user 1 rating 20 user 3 rating 10 user 4 rating 4 user 2 ra
  • Android 5.1推送通知图标为空白

    当使用 Parse 进行推送通知时 我们的应用程序始终显示应用程序的启动器图标 在最新的 Android 5 1 版本中 该图标显示为空白 白色方块 我尝试在元数据中设置图标
  • 如何在 Bash 中将 `4-7` 替换为 `4,5,6,7`

    Goal 我有一根长绳子s它表示由逗号和破折号分隔的一系列数字 见下文 当多个数字彼此跟随时 将写入两个极端数字并用破折号分隔 例如 该系列4 5 6 7写成4 7 我的目标是扩展这个字符串 使所有数字都用逗号分隔 4 7应该成为4 5 6
  • C# 获取 XML 标签值

    我有一个名为BackupManager xml
  • 如何防止任务管理器中的应用程序被杀死?

    我正在开发一个家长控制应用程序 用 WPF 编写 并且希望禁止任何人 包括管理员 终止我的进程 不久前 我在网上发现了以下代码 它几乎可以完美运行 只是有时不起作用 static void SetAcl var sd new RawSecu
  • ReactJS 如何在 React 中切换页面?

    因此 来自 Angular AngularJS 背景的人有状态 每个状态都是一个单独的页面 例如 在社交网络中 您可以有一个包含您的提要的状态 一个包含您的朋友列表的状态 或者一个查看个人资料的状态等 非常简单 对我来说 React 没有那
  • 在屏幕中央启动 Facebook 共享弹出窗口

    以下代码运行良好 并在屏幕上启动 Facebook 弹出窗口 但该弹出窗口未居中 a href http www facebook com share php u a
  • JavaScript 将
    替换为 \n

    我刚刚使用 JavaScript 和 PHP 在 MySQL 数据库中存储了一段文本并替换 n with br 我现在遇到的问题是 当我尝试使用 PHP 检索文本时 它会将其打印出来 br Dear Sir Maddam br This i
  • Django 动态 OR 查询

    我有一个MultipleChoiceField在保存汽车制造商的表格上 我想将我的汽车数据库过滤到已检查的品牌 但这会导致问题 我如何获得所有Q make 动态声明 我如何开始 value1 value2 我想如何结束 Q col valu
  • html 中的大括号和百分号是什么意思?

    我正在学习如何在 Django 框架中开发网站 我对模板 html 文件有一些不明白的地方 我看到教程使用了大括号 等 将逻辑嵌入到代码中 但是当我尝试在非 Django 服务器 Apache 中使用此语法时 此语法未被解释 我可以看到我的