我们可以用python语言编写(或者可能存在这样的Web框架),我们可以用PHP语言编写Python和html标签。
我们可以有这样的python文件结构:
some_python_file.py:
<html>
<head>
<title>Lol</title>
<head>
<body>
My PyWeb Slang
</body>
</html>
<!-- this part should be python -->
<?py
from Eternity import Kiss
love = Kiss.Forever()
print "%s" % love
?>
抱歉,我正在写上限: DISAMBIGUATION:
您可以看到,每个行使用该模板{%goodies%}或&lt;%= goodies%&gt;
{% extends "layout.html" %}
{% block body %}
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
{% endblock %}
但在PHP中:
<div>Good Morning, Sun!</div>
<?php
echo "Happy!";
echo "Hi, WaterLand!";
?>
如果Python可以这样做,那应该是:
<div>Good Morning, Sun!</div>
<?py
print "%s" % "Happy!"
print "%s" % "Hi, WaterLand!";
?>
有了意识形态,还是我需要更明确?
谢谢。 :)
嗯,如果是这样的话:
我们可以使用mod_python编写(从下面扩展 [morphyn] 示例):
<html>
<%
greet = 'Hello Wee!'
answer = 'Hello Bee!'
%>
<h1><%= greet %></h1>
<h2><%= answer %></h2>
</html>
在那里你可以看到超过2'u的行&lt;%...%&gt; 我们可以吗?
答案 0 :(得分:5)
这不是您要求的,但正确的方法是使用模板引擎。看看Jinja2。 Django还提供了自己的模板引擎。
<强>更新强>
默认情况下,Python无法嵌入HTML页面。然而,至少有一种方法可以做到这一点。 mod_python
是Apache2的一个模块,它提供了PSP(Python服务器页面)所需的功能。
<html>
<%
greet = 'Hello'
%>
<h1><%= greet %></h1>
</html>
请记住,混合逻辑和演示通常不是一个好主意。正如我原来的答案所述,正确的方法仍然是使用模板引擎。你可能有很好的理由做你想做的事,但可能没有。
答案 1 :(得分:1)
web.py的工作方式类似于您想要的方式,但有点倒退。您可以使用URL来调用类,并且类可以呈现可以传递参数的模板,以便在将模板呈现到html页面时填充内容。我认为使用它比Django更简单,但是如果你有很多内容一直在变化,那么可能就是这样。以下是来自web.py网站的代码示例,其中显示了它的简单性。
import web
urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())
class hello:
def GET(self, name):
if not name:
name = 'World'
return 'Hello, ' + name + '!'
if __name__ == "__main__":
app.run()
答案 2 :(得分:0)
是的:我们可以使用 PSP (Python服务器页面) [用户:morphyn答案]
Paul Osman : Introduction to mod_python
文章示例:
<%
a = [1,2,3,4,5,6]
for number in a:
%>
This is a number: <%=number %> <br />
<%
# this terminates the iteration
%>
<h1>Hello</h1>