Python中文
首页
教程
问答
标签
搜索
登录
注册
有什么理由不让我在Django应用程序中使用替代模板引擎?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我做过一些小的ishdjango项目,每次我都被Django模板语言明显的局限性所震撼。作为一个随机的例子,我震惊地发现,如果在一个模板的上下文中,我有一个变量条和一个dict-foo,除非我自己编写过滤器,否则我无法访问foo[bar]。在</p> <p>我读过这样做的原因是因为Django是为那些设计页面的人不是程序员的环境而创建的。我明白。在</p> <p>但我觉得这对我来说不是问题。为什么你要用一些像Python那样的任意表达式,而不是像magango这样的语言来执行呢?在</p> <p>不久前我有机会利用Mako进行学校项目,我真的很喜欢它的力量。例如,作为项目的一部分,我们必须制作一个大表,在那里构建每一行和每一个单元格都相当复杂。但是,我可以让我的模板看起来像:</p> <pre><code><table> % for foo in foos: ${makerow(row)} % endfor </table> <%def name="makerow(row)"> <tr> # Blah blah blah (possibly a call to makecell somewhere) </tr> </%def> </code></pre> <p>也许这违反了表达和逻辑的分离,但孩子们,它是好的和干净的。子程序!抽象!好东西。在</p> <p>还有一个后续问题:如果Django社区不反对使用另一种模板语言,有人有什么建议吗?就像我说的,我真的很喜欢Mako,但实际上它是除了Django之外我唯一用过的</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在模板中执行任意代码不应该被认为是一件固有的好事。利用这些功能通常是您的架构被破坏的标志。在</p> <p>也就是说,如果您阅读了Django文档,它明确地指出您可以随意使用、丢弃和替换任何您想要的组件。Django是有意模块化的,事实上,两个最普通的可替换组件是模板引擎和ORM。在</p> <p>如果您想使用Mako而不是Django模板引擎,只需使用Mako。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用Python创建一个非常大的二进制频率矩阵来运行协作过滤
9 回答
使用Python创建一张HTML网页,其中在不同颜色中重复n遍显示“Hello World”的方法
5 回答
使用Python创建一组唯一的值length L
7 回答
使用python创建不同表格的透视表
5 回答
使用python创建不和谐频道
3 回答
使用python创建不存在的多个文件夹
2 回答
使用python创建串行远程文件
7 回答
使用python创建交互式仪表板时出现问题
6 回答
使用python创建交互式绘图
7 回答
使用python创建交互式自动电子邮件
4 回答
使用Python创建价格列表
10 回答
使用python创建修改的txt文件
10 回答
使用Python创建全局变量,初始化后更改值
6 回答
使用Python创建关键字搜索词数组
4 回答
使用Python创建具有不均匀块大小/堆叠条形图的热图
1 回答
使用Python创建具有依赖于另一列的值的列
9 回答
使用Python创建具有多列的HTML表
1 回答
使用Python创建具有时间范围数据的等距数据帧
3 回答
使用Python创建具有特定顺序或属性的XML文件
1 回答
使用Python创建具有级联功能的搜索栏
1 回答