Python在HTML中取代PHP

xpszyzbs  于 2023-03-28  发布在  Python
关注(0)|答案(4)|浏览(118)

是否可以像使用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>
wqsoz72f

wqsoz72f1#

Python本身并不是一种Web开发语言。但是,您可以将其与一些Web框架(如Django,Flask等)一起使用,以便使用 template tags 和 * filter * 在模板中执行操作。对于Django,请参阅Django's built-in tags文档以获取可用操作的完整列表。
因此,Django模板中的等价for循环将如下所示:

{% for c in cheeses %}
    <li> {{ c }} </li>
{% endfor %}

在这里,你必须在渲染模板时传递带有上下文对象的cheeses列表。

ljsrvy3e

ljsrvy3e2#

由于大多数HTTP服务器都是用C /C++编写的,它们不直接支持python,ruby或php。对于这些特定的语言有特殊的实现。因此,除非也实现了python脚本,否则您的PHP Web服务器将不支持python。然而,你可以使用CGI(仍然支持)来实现你的python脚本。但不推荐。相反,你应该使用现有的python web farmeworks,如Django,TurboGears,Zope,Bottle or Flasks

s5a0g9ez

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。

fslejnso

fslejnso4#

我已经想了很长时间了。在我看来,Python在这里错过了一个巨大的机会,因为他们有机会吸引许多PHP用户。就目前情况而言,我认为PHP用户有很大的动机**不 * 转换到Python。
我最接近找到有用的东西,我发现在:-https://leimao.github.io/blog/Python-Interpreter-Browser/

相关问题