【发布时间】:2010-06-11 22:48:00
【问题描述】:
我有一个包含一些用于维护一些表的 html 表单的网络应用程序(SQlite,CherryPy 用于网络服务器的东西)。首先,我完全使用“Python 方式”,并通过生成 html 字符串。代码,具有共同的页眉、页脚等。在单独的模块中定义为函数。
我也喜欢模板的想法,所以我尝试了 Jinja2,我觉得它对开发人员非常友好。一开始我认为模板是要走的路,但那时页面很简单。一旦引入了 .css 和 .js 文件(不一定与 .html 文件在同一个文件夹中),并且引入了越来越多的 {{...}} 变量和 {%...%} 命令,事情在设计时开始变得混乱,即使它们在运行时看起来很棒。当我在 or 部分需要额外的 javascript 时,事情变得更加困难。
据我所知,使用模板的主要优点是: 页面的非动态元素可以在设计期间在浏览器中轻松查看。 除 {} 占位符外,html 与 python 代码分开。 如果您的公司有网页设计师,他们仍然可以在不了解 Python 的情况下进行设计。
虽然有些缺点是: {{}} 分隔符在设计时在浏览器中查看时可见 关联的 .css 和 .js 文件必须位于同一文件夹中,才能在设计时在浏览器中查看效果。 数据、变量、列表等必须提前准备好,要么全局声明,要么作为参数传递给 render() 函数。
那么 - 什么时候使用“硬编码”HTML,什么时候使用模板?我不确定最好的方法,所以我很想听听其他开发人员的意见。
蒂亚,艾伦
【问题讨论】: