是否可以像使用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>
答案 0 :(得分:3)
由于大多数HTTP服务器都是用C / C ++编写的,因此它们不直接支持python,ruby或php。这种特定语言有特殊的实现。因此,除非也实现了python脚本,否则您的PHP Web服务器将不支持python。但是,您可以使用CGI(仍然支持)来实现您的python脚本。但不建议这样做。相反,你应该使用现有的python web farmeworks,如Django,TurboGears,Zope,Bottle或Flasks
答案 1 :(得分:2)
仅Python不是Web开发语言。但是,您可以将它与某些Web框架(如Django,Flask等)一起使用,以便使用模板标记和过滤器在模板中执行操作。对于Django,请参阅Django's built-in tags文档以获取可用操作的完整列表。
因此,您在Django模板中的等效for
循环将如下:
{% for c in cheeses %}
<li> {{ c }} </li>
{% endfor %}
您必须在呈现模板时将cheeses
列表与上下文对象一起传递。
答案 2 :(得分:1)
Python Web Framework与PHP完全不同。
有一些模板语言,如Django的模板语言,Jinja2模板引擎。您在HTML模板中使用标签,甚至可以使用django&#34;&#34; widthratio&#34;标签。但实际上并不建议这样做,因为模板基本上是字符串,python使用模板和一些变量来渲染最终的HTML以响应浏览器。
因此在python web框架中,模板仅用于管理视图显示,您应该将逻辑代码与模板分开。
如果你想在web开发中使用python,你最好用python的方式思考,python中有很多MVC框架,最好的做法是在控制器中编写你的python代码,将视图渲染留给模板。