Python web框架

2 投票
4 回答
635 浏览
提问于 2025-04-16 15:50

有没有一种Python的网页框架,可以把Python代码和HTML代码放在同一个文件里?

Django使用模板和一种特殊的语言来生成HTML。Pylons则使用一种叫做Mako的语言。

我更喜欢用这样的方式输出HTML:

echo('''
    HTML string
''')

或者

print '''
    HTML string
'''

而不是使用那些特殊的语言。

编辑:

我可以像PHP那样做吗?

echo( '''<p>Something</p>''' )
if cond:
    echo( '''<p>Another thing 1</p>''' )
else:
    echo( '''<p>Another thing 2</p>''' )

4 个回答

1

web2py 的模板引擎让你可以在 HTML 模板中直接使用纯 Python 代码(具体细节可以查看这本书)。你还可以使用 web2py 的HTML 辅助工具来用 Python 生成 HTML(这样会生成一个服务器端的 DOM,可以在渲染成 HTML 之前进行查询和操作)。如果你想的话,这个模板引擎也可以独立于框架使用(相关的模块在/gluon/template.py)。如果你有特别想做的事情,欢迎在邮件列表上提问。

2

这可能是你喜欢的做法,但其实这和所有最佳实践都是相悖的。不过,话说回来,你还是可以在django中这样做。

from django.http import HttpResponse
dev some_view(request):
    return HttpResponse("This is foolish short term gain")
2

如果你想直接使用 print,可以考虑用 cgi。如果你想用模板,最接近的选择是来自 webpy 项目的 Templator

web.py 的模板语言叫做 Templetor,旨在将 Python 的强大功能带入模板中。它并没有创造新的模板语法,而是重用了 Python 的语法。如果你熟悉 Python 编程语言,你会觉得很容易上手。

撰写回答