2017-01-07 51 views
1

是否可以像使用PHP一样使用Python进行Web开发?Python作为PHP内部替代PHP的代码

换句话说,我可以在服务器上运行的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

是的,你可以。 Python具有Web Framemorks使其比纯PHP更清洁 - 请参阅'Flask','Bottle','Django'等。 – furas

回答

2

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

因此,你相当于for环路Django的模板将是这样的:

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

,你必须通过cheeses列表与上下文对象在渲染的模板。

3

由于大部分HTTP服务器都是用C/C++编写的,所以它们不直接支持python,ruby或php。这种特定语言有特殊的实现。所以你的PHP Web服务器将不会支持python,除非实现了python脚本。但是,您可以使用CGI(仍然受支持)来实现您的python脚本。但不推荐。相反,你应该使用Django,TurboGears,Zope,瓶子或烧瓶等现有的python web farmeworks

1

Python Web框架与PHP相当不同。

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

所以在python web框架中,模板只是用来管理视图显示,你应该用模板来分隔逻辑代码。

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