为什么Django模板不使用python代码呢?

2024-04-28 11:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的意思是我理解这些模板是针对设计师和其他不太懂代码的人的,但是对于开发人员来说,我觉得模板语言只是一个麻烦。我需要重新学习如何做一些非常简单的事情,比如遍历我传递到模板中的字典或列表,但它似乎工作得不太好。我仍然无法让整个“点”符号如我所期望的那样工作(例如{{我的dict.dictkey}}在for循环中不起作用:S——我可能会作为一个单独的问题来问),我不明白为什么在模板系统中不能只使用python代码。特别是,我觉得如果模板是简单的,那么在这些模板中需要使用的python代码级别将不会比当前的模板语言复杂。因此,与学习Django模板语言相比,这些设计人员学习python不会有更多的困难(与DTL相比,掌握基本python的知识有更多的地方可以去),另外一个好处是,已经了解python的人可以熟悉所有常用的语法他们可以使用电力,然后就可以开始工作了。在

我错过什么了吗?如果是这样的话,我恳求django noob,并希望你能启发我当前制度的许多优点。但除此之外,关于其他模板系统的任何建议可能更符合我的要求?在


Tags: 代码模板语言列表for字典开发人员系统
3条回答

大多数人认为有限的模板语言的原因是他们不想将应用程序的业务逻辑与它的表示相混合(这与MVC的理念不太协调;使用Django我相信您了解这一点的好处)。在

danielgreenfeld写了an article a few days ago explaining why he likes "stupid template languages",很多人写了回复(参见过去几天Planet Python)。如果您阅读了Daniel所写的内容以及其他人对此的反应,您将了解一些支持和反对允许模板语言使用Python的论据。在

关注点分离。

设计师做设计。开发人员负责开发。模板由设计者编写。在

设计和开发是独立的,不同的工作领域通常由不同的人来处理。在

我想,如果一个人是开发人员,而他们的配偶是设计师,那么用python编写模板代码会非常有效。否则,就让他们各司其职,少干涉。在

别忘了,您并不局限于Django的模板语言。您可以在视图函数中自由使用任何模板系统。但是你想创建HTML从你的视图返回函数是可以的。在Python世界中有许多模板实现:选择一个更适合您的,然后使用它。在

相关问题 更多 >