我刚刚开始学习python(对于web应用程序的使用),但我很困惑与使用html文件和动态数据的最佳方式。 我知道PHP有<?php ?>
标签这是伟大的 - 是否有这样的Python或类似的东西,如果不是如何应该我在做呢?Python的PHP样式内联标签?
回答
PHP内联标签实际上倾向于鼓励一种不好的做法 - 即将您的控制逻辑(PHP代码)与您的模板(html)混合。大多数Python框架倾向于摆脱这种混合,而是鼓励两者分离 - 通常使用某种templating system。
许多框架都有自己的模板系统(例如,Django templating system相当流行)。其他人不会让你选择一个单独的模板引擎(如Cheetah)。
这里有几个php风格的python选项。 Mod_python用于装载一个,而spyce有一个替代实现,但是pythonistas不支持这种模式。相反,使用模板语言。 Genshi和jinja2都很受欢迎,但有很多可供选择。
由于您是使用python进行网络编程的新手,您可能最好选择整个框架入门。 Django,turbogears和cherrypy是少数可以检查出来的。这些框架将包含您制作现代网站所需的所有工具,包括模板语言。
是的,Python的确具有大致相同的功能:使用mod_python
的Python服务器页面(又名psp
)。它可以让你做这样的事情:
<html>
<% import time %>
Hello world, the time is: <%=time.strftime("%Y-%m-%d, %H:%M:%S")%>
</html>
但是,一般来说这种做法不被视为Pythonic。我会从轻量级Python web framework开始。当你开始时,web2py
是一个不错的选择。 bottle
,flask
& cherrypy
非常容易使用开箱即用。 Django
,TurboGears
&其他更复杂,但提供更多的功能。
正如Tim所说,您可以使用Python Server Pages(psp
)来获取适用于mod_python
的PHP样式行内标签。你必须add psp
handler到Apache配置:
<Directory /var/www/html>
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
</Directory>
然后它保存为test.psp
和享受。 :-)
<html>
<% import time %>
Hello world, the time is: <%=time.strftime("%Y-%m-%d, %H:%M:%S")%>
</html>
但不幸的是,mod_python
是retired,你必须使用mod_wsgi
不幸的是,"there is no port of mod_python PSP for mod_wsgi"。
- 1. 内联样式优先于表单和样式标签?
- 2. IHTMLStyleSheetRulesCollection样式标记(内联样式)
- 3. PHP类内联CSS样式?
- 4. 我如何在HTML body标签内找到内联CSS样式?
- 5. 标签的引导内联“宽度”样式
- 6. 轴上的内联样式stroke-width使大写刻度标签
- 7. 内联样式表级联样式表
- 8. 如何向左浮动内联样式标签?
- 9. CSS样式中的内容标签
- 10. React内联样式
- 11. SVG内联样式
- 12. jQuery,编辑内联样式标记
- 13. Span标签内的锚标签样式问题
- 14. 使用actionbarsherlock标签样式的标签内容
- 15. 使用内联样式查找span标签的正则表达式
- 16. WordPress的内联标签(jQuery)
- 17. 内联样式与“内联样式”。有什么不同?
- 18. 以内联样式删除样式宽度图像php
- 19. php库,可以合并样式表与内联样式
- 20. ReactJS中的内联样式
- 21. HTML注释标签内部样式表
- 22. 在标签内输入引导样式
- 23. 如何使用Python 3从html标签样式获取内容?
- 24. 在php中放置样式标签echo
- 25. php解析h标签样式
- 26. 标签混乱中的样式标签
- 27. 内嵌样式添加到div标签在PHP
- 28. 样式ActionBar标签
- 29. WPF标签样式
- 30. TabLayout标签样式
如果我能够引用python框架倾向于明确地对混合的HTML和控件标记作出反应这一事实,我会+2。另外,Django确实允许备用模板系统(在版本1.2中比以往更加轻松http://docs.djangoproject.com/en/1.2/ref/templates/api/#using-an-alternative-template-language )。 – 2010-08-30 00:57:02
如果我可以给+2以外的“时尚”,因为“Pythonistas”不喜欢PHP风格模板,我也可以给出+2。 – Omnifarious 2010-08-30 02:24:32