Django是否有任何模板标签来生成常见的HTML标记?例如,我知道我可以使用网址
{% url mapper.views.foo %}
但这只会给我提供URL而不是HTML代码来创建链接.Django有没有类似于Rails的link_to帮助器?我找到了django-helpers但是因为这是一个常见的事情,我认为Django会有一些内置的东西.
不,不.
关于Rails内置的JavaScript助手,James Bennett不久前回答了类似的问题.
这是真的不可能的Django永远不会有"帮手"的功能内置.如果我理解正确,原因与Django保持松散耦合的核心理念有关.内置了这种辅助功能可以将Django与特定的JavaScript库或(在您的情况下)html文档类型相结合.
例如.如果/最终实现HTML 5并且Django生成HTML 4或XHTML标记会发生什么?
话虽如此,Django的模板框架非常灵活,编写自己的标签/过滤器并不是非常困难.我自己大部分都是一名设计师,而且我已经能够将一些像魅力一样的自定义标签组合在一起.
正如其他人所暗示的那样,帮助者的目的不是帮助那些不知道如何编写HTML的开发人员.目的是封装常用功能 - 因此您不需要编写相同的内容一千次 - 并提供一个位置来编辑整个应用程序中使用的常见HTML.
这与模板和SSI有用的原因相同 - 不是因为人们不知道如何在页眉和页脚中编写HTML,但有时您只想编写一次.
例如.如果/最终实现HTML 5并且Django生成HTML 4或XHTML标记会发生什么?
实现HTML 5时会发生同样的事情,并且所有模板都是用重复的HTML编写的,除了更容易之外.
其他帖子已经回答了问题,链接到自定义模板标签上的文档; 你可以使用标签和过滤器来构建自己的,但不,没有任何内置的.