Python作为HTML中PHP的替代品

2024-10-05 15:24:10 发布

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

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

^{pr2}$

Tags: 代码服务器webhtmlliulstarphp
3条回答

大多数HTTP服务器是用C/C++编写的,它们不支持Python、Ruby或PHP。对于这种特定的语言有特殊的实现。因此,除非实现了python脚本,否则phpweb服务器将不支持python。但是,您可以使用CGI(仍然受支持)来实现python脚本。但不建议这样做。相反,您应该使用现有的pythonwebfarmework,比如Django、TurboGears、Zope、Bottle或Flasks

pythonweb框架与PHP有很大的不同。在

有一些模板语言,比如Django的模板语言,Jinja2模板引擎。您可以在HTML模板中使用标记,甚至可以使用django的“widthratio”标记进行一些计算。但实际上不建议这样做,因为模板基本上是字符串,python使用带有一些变量的模板来呈现最终的HTML以响应浏览器。在

因此在pythonweb框架中,模板只是用来管理视图显示的,需要将逻辑代码与模板分开。在

如果你想在web开发中使用python,最好用python的方式来思考,python中有很多MVC框架,最好的做法是在controller中编写python代码,把视图渲染留给模板。在

Python本身并不是一种Web开发语言。但是,您可以将它与一些Web框架(如Django、Flask等)一起使用,以便使用模板标记过滤器在模板中执行操作。对于Django,请参阅Django's built-in tags文档以获得可用操作的完整列表。在

因此,Django模板中等效的for循环将如下所示:

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

在这里,您必须在呈现模板时传递带有上下文对象的cheeses列表。在

相关问题 更多 >