是否可以像使用PHP一样使用Python进行Web开发?
换句话说,我可以在我的HTML中添加一些Python代码,这些代码在服务器上运行并可能添加到HTML中吗?
例如,一些PHP代码:
<p>Cheese:</p>
<ul>
<?php
$cheeses = ['brie', 'cheddar', 'death star'];
foreach ($cheeses as $c){
echo "<li>".$c."</li>";
}
?>
</ul>
<p>No more cheese :(</p>
使用Python可以是:
<p>Cheese:</p>
<ul>
<?py
cheeses = ['brie', 'cheddar', 'death star']
for c in cheeses:
print ("<li>" + c + "</li>")
?>
</ul>
<p>No more cheese :(</p>
4条答案
按热度按时间wqsoz72f1#
Python本身并不是一种Web开发语言。但是,您可以将其与一些Web框架(如Django,Flask等)一起使用,以便使用 template tags 和 * filter * 在模板中执行操作。对于Django,请参阅Django's built-in tags文档以获取可用操作的完整列表。
因此,Django模板中的等价
for
循环将如下所示:在这里,你必须在渲染模板时传递带有上下文对象的
cheeses
列表。ljsrvy3e2#
由于大多数HTTP服务器都是用C /C++编写的,它们不直接支持python,ruby或php。对于这些特定的语言有特殊的实现。因此,除非也实现了python脚本,否则您的PHP Web服务器将不支持python。然而,你可以使用CGI(仍然支持)来实现你的python脚本。但不推荐。相反,你应该使用现有的python web farmeworks,如Django,TurboGears,Zope,Bottle or Flasks
s5a0g9ez3#
Python Web Framework与PHP有很大的不同。
有一些模板语言,如Django的模板语言,Jinja2模板引擎。您可以在HTML模板中使用标签,甚至使用django的“widthratio”标签进行一些计算。但真的不建议这样做,因为模板基本上是字符串,python使用模板和一些变量来呈现最终的HTML以响应浏览器。
所以在python web framework中,template只是用来管理视图的显示,你应该把逻辑代码和template分开。
如果你想在web开发中使用python,你最好用python的方式来思考,python中有很多MVC框架,最好的做法是在controller中编写python代码,将视图渲染留给template。
fslejnso4#
我已经想了很长时间了。在我看来,Python在这里错过了一个巨大的机会,因为他们有机会吸引许多PHP用户。就目前情况而言,我认为PHP用户有很大的动机**不 * 转换到Python。
我最接近找到有用的东西,我发现在:-https://leimao.github.io/blog/Python-Interpreter-Browser/