What should I worry about Python template engines

2019-09-21 07:42发布

我是一个C#和ASP.NET MVC开发。 我已经完成了一些Python的控制台应用程序,但我是新来使用Python的Web应用程序。 我读了很多关于Python服务器和模板引擎。

但我担心:

  • 哪个模板引擎西装的Python服务器/ Python的Web框架? 还是应该适应?
  • 可以在模板引擎存在安全问题? 或者我可以选择任何人,我喜欢的语法。
  • 任何模板引擎可以,集成了控制器和本身的数据(我的模型,ORM模型)? 这种整合可能会导致任何安全性,内存问题?
  • 不要紧,使用Python 2.x或3.x的任何模板引擎?

我知道有jinja2pytenjin (似乎非常快), pyrazor 。 我已经尝试了所有,我觉得是因为我的ASP.NET MVC的背景很舒服pyRazor。

我的忧虑后,也是最后的问题:

  • 我应该使用哪种模板引擎?
  • 什么是最好的开发环境(Python的web框架,模板引擎)与龙卷风开始发展?

我知道,我问过很多问题,但我之前,我将深入了解发展为真正的项目要谨慎。

关于编辑点评 :好吧,我觉得我需要更具体的了解我所期待的。 由于很多开发者需要在python网络编程(至少从其他平台推出),我需要弄清楚我有开发选项。 (IDE,模板引擎,Web服务器等),以及如何向他们缩短开发时间,提高生产效率而不会破坏安全有道结合起来。

更新1:我认为我们从VS和ASP.NET的世界开发者,习惯了在所有在一个盒子里准备developments.When涉及到使用其他技术,因为工程需要,我们(至少我)疑神疑鬼。因为我们需要把所有的和谐。 很明显使用IIS,.NET和VS(所有高级功能)的.NET项目。

那么,这么多的搜索和调查之后,我决定用PyCharm与Django.I一个IDE希望有那么一天PyCharm将支持web2py中,因为他们支持的Django的方式。

好了,关于服务器呢? 我让nginx的或切诺基为我工作。

好了,关于模板引擎是什么? 我将使用默认的Django模板引擎。(因为我喜欢pyRazor我不喜欢多),但这种方式会更容易找到帮助或要求更高更feature.On阶段,我可以再次尝试使用Jinja2(在PyCharm可以更改模板引擎在Django中使用)。

Answer 1:

有没有最终的模板引擎或网络框架。 比如我喜欢的组合烧瓶 ,Jinja2的和SQLAlchemy的 。 有些人喜欢Django的 ,这带来了ORM和模板引擎。 有些人喜欢灰鲭鲨 (也是一个模板引擎)。 只是尝试一下,看看你最喜欢什么。

当然,可能有安全问题在您的模板,如跨站脚本攻击 ,但是这不太可能,Jinja2的已如autoescaping默认启用的,所以你可以扔在任何你想要的,它会自动逃脱它。

是的,你可以用模板引擎整合你的ORM模型(你可以通过db-instance和模型模板),但我不会做,只是因为它更容易在你的路线做。 如果你整合它,没有更多的安全/内存问题,如果你会做你的“正常”的代码。

Python的版本没有关系(只要引擎支持的话),但我会使用Python 2.7,因为它带来的Python 3的一些很酷的功能,它有可用的方式更库(不是一切都移植到Python 3还) 。



文章来源: What should I worry about Python template engines and web frameworks? [closed]