鲁比·哈姆和德詹戈?

2024-06-07 09:27:13 发布

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

好吧,我真的很喜欢哈姆。特别是,我喜欢红布和蓝布的结合,所以我可以用减价和纺织品来混合我的火腿。在

我也喜欢Python和Django。在

所以,我想在Django中使用HAML。现在,我已经知道有人试图在Python(SHPAML和其他一些)中克隆类似HAML的语法。我试过这些,虽然还不错,但我发现我真的只想要真正的火腿。一部分是因为它的语法,但也包括像RedCloth和BlueCloth这样的东西。在

所以,我的问题是,如何让HAML和Django一起工作?在

我认为,一个解决方案是创建HAML模板,然后在每次更新时使用命令行工具将它们编译成HTML。在

问题1:我会遇到什么问题吗?

我还想知道是否有一种方法可以让Python和Ruby更紧密地结合在一起。我有一个想法,就是开发Ruby进程。这可能是个坏主意,但有人对此有什么想法吗?在

问题2:使用Python调用真正的Ruby HAML怎么样?

最后,如果有人知道HAML的Python实现是完整的,并且支持Textile或Markdown以及明文传递,那么请告诉我。在

问题3:是否有HAML到Python的完整翻译,包括降价或纺织品支持?

谢谢!在


Tags: 工具django命令行模板html语法解决方案ruby
3条回答

我强烈建议您不要将任何进程从django视图中分离出来,因为开销非常大。在

您应该有一个持久的ruby进程来为您的模板提供服务,并从django代码中调用它。我将IPC技术留给您,但是显而易见的选择可能是某种消息队列技术,或者通过套接字对ruby进程讲HTTP。在

问题1:静态HTML文件应该可以很好地工作(除非您计划使用HAML的ruby求值特性来动态地显示内容)。我在一个带有SASS样式表的php网站上使用了类似的方法。只需确保在开始黑客攻击之前以目录监视模式启动HAML;)

问题2:虽然分叉一个ruby进程来创建HTML代码是可能的,但我不建议您这样做,因为初始化ruby解释器和加载所需文件需要大量的cpu时间,所以您最好还是使用静态文件。如果您需要ruby求值特性来将运行时创建的数据包含到文档中,那么最好查看一下eventmachine,并将其作为服务器(这样Django应用程序就可以连接到它,并请求HTML生成,而不必每次派生一个新的解释器)。在

问题3:也许这是最难的。已经放弃了GHRML;SHPAML只实现了HAML的一小部分,DMSL目前这是非常实验性的,但已经支持大部分HAML并调用python代码,但缺少Markdown或Textile支持。但是显然,除了Ruby HAML之外,没有其他方法可以支持所有必需的特性。在

相关问题 更多 >

    热门问题