3

我对 Python 已经很熟悉了,现在我正在寻找一个基本的 Web 应用程序。我有点害怕 Django 和其他 Python 框架,所以我对它进行了深入研究,并决定使用另一个 Python 脚本自己生成 HTML。

也许这就是你的做法——但我只是在弄清楚这些东西。我真的在寻找关于下一步该做什么的提示。

我的 Python 脚本打印 HTML(这是否正确?我需要它出现在网页上!),但现在呢?

感谢您在我学习过程中一直以来的支持。总有一天我会发布答案!

-泰勒

这是我的代码:

from SearchPhone import SearchPhone

phones = ["Iphone 3", "Iphone 4", "Iphone 5","Galaxy s3", "Galaxy s2", "LG Lucid", "LG Esteem", "HTC One S", "Droid 4",
          "Droid RAZR MAXX", "HTC EVO", "Galaxy Nexus", "LG Optimus 2", "LG Ignite",
          "Galaxy Note", "HTC Amaze", "HTC Rezound", "HTC Vivid", "HTC Rhyme", "Motorola Photon",
          "Motorola Milestone", "myTouch slide", "HTC Status", "Droid 3", "HTC Evo 3d", "HTC Wildfire",
          "LG Optimus 3d", "HTC ThunderBolt", "Incredible 2", "Kyocera Echo", "Galaxy S 4g",
          "HTC Inspire", "LG Optimus 2x", "Samsung Gem", "HTC Evo Shift", "Nexus S", "LG Axis", "Droid 2",
          "G2", "Droid x", "Droid Incredible" 
          ]

print """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>table of phones</title>
</head>

<body>
</body>
</html>
"""

#table
print '<table width="100%" border="1">'
for x in phones:
    y = SearchPhone(x)
    print "\t<tr>"
    print "\t\t<td>" + str(y[0]) + "</td>"
    print "\t\t<td>" + str(y[1]) + "</td>"
    print "\t\t<td>" + str(y[2]) + "</td>"
    print "\t\t<td>" + str(y[3]) + "</td>"
    print "\t\t<td>" + str(y[4]) + "</td>"
    print "\t</tr>"
print "</table>"
4

3 回答 3

4

不幸的是,你不太对。

对于python web开发,作为初学者,你应该选择一个web开发框架,(Django,Flask,Bottle)如果你害怕Django,我建议你尝试看一下Web.py/bottle,它们非常简单易懂赶上,您将学习基本的 Web 开发技能,了解工作流程,交互等。

或者,你只想写一个静态网页,写一个扩展名为“htm”“html”的文件

html_str = "<html><head>This is header</head><body>This is body</body></html>"
f = open("yourpage.html","w")
f.write(html_str)
f.close()

然后你可以打开“yourpage.html”,让你的第一个网页静态地用 Python 编写..

于 2012-12-03T05:06:24.770 回答
1

使用 Flask 框架,您可以按照教程在五分钟内编写您的第一个 web 应用程序。一开始它可能比 Django 更容易。

默认情况下,Flask 使用 Jinja2 模板引擎。您可以编写如下内容:

<table>
{% for phone in phones %}
    <tr><td>{{ phone.name }}</td></tr>
{% endfor %}
</table>

其中phones是传递给模板的 Python 变量。不太复杂,不是吗?

于 2012-12-03T05:35:52.873 回答
0

尽管这个问题已经有几年了......

如果您使用的系统具有不错的外壳(您应该这样做),您可以保持代码不变(即写入标准输出)并将输出重定向到文件:

$ python html_generating_program.py > output.html
于 2017-02-13T10:08:38.327 回答