我们可以用 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 %} 或 <%= goodies %>
{% 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 行 我们可以吗?
最佳答案
这不完全是您的要求,但正确的方法是使用模板引擎。看看Jinja2 . Django还提供了自己的模板引擎。
更新:
默认情况下,Python 不能嵌入到 HTML 页面中。然而,至少有一种方法可以做到这一点。 mod_python
是 Apache2 的一个模块,通过 PSP 提供了您想要的那种功能。 (Python 服务器页面)。
<html>
<%
greet = 'Hello'
%>
<h1><%= greet %></h1>
</html>
请记住,混合逻辑和表示通常不是一个好主意。正确的方法仍然是使用模板引擎,如我原来的回答所述。你可能有很好的理由去做你想做的事,但也可能没有。
关于python - 我们可以像在 php 中一样在 python 中生成网页吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709346/