如何使用python将输出打印到html页面?

2024-09-29 19:30:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让用户输入一个句子,然后我把这个句子分解成一个列表。我把html页面放下来了,但是我很难把这个句子传给python。

如何正确地将要由python处理的用户输入发送到新页面?


Tags: 用户列表html页面句子分解成新页面
2条回答

有很多Python web frameworks。例如,要使用^{}分解句子:

break-sentence.py

#!/usr/bin/env python
from bottle import request, route, run, view

@route('/', method=['GET', 'POST'])
@view('form_template')
def index():
    return dict(parts=request.forms.sentence.split(), # split on whitespace
                show_form=request.method=='GET') # show form for get requests

run(host='localhost', port=8080)

以及模板文件form_template.tpl,用于在Python中处理后显示表单和句子部分(请参见上面的index()函数):

<!DOCTYPE html>
<title>Break up sentence</title>
%if show_form:
<form action="/" method="post">
  <label for="sentence">Input a sentence to break up</label>
  <input type="text" name="sentence" />
</form>
%else:
Sentence parts:<ol>
%for part in parts:
     <li> {{ part }}
%end
</ol>
%end

Python中使用request.forms.sentence访问来自<input name="sentence"/>字段的用户输入。

要尝试它,您可以下载bottle.py并运行:

$ python break-sentence.py 
Bottle server starting up (using WSGIRefServer())...
Listening on http://localhost:8080/
Hit Ctrl-C to quit.

现在您可以访问http://localhost:8080/

你试过谷歌吗?This page总结了各种可能性,是搜索“python html”时的第一个结果之一。

据我所知,解决你的问题的两个最简单的选择如下。

1)CGI脚本。编写python脚本并将其配置为CGI脚本(对于大多数HTTP服务器,将其放入cgi-bin/文件夹)。接下来,将该文件指向HTML文件中form标记的action-属性。python脚本将访问所有post变量(以及更多),从而能够处理输入并将其作为HTML文件编写。查看此page以获得更广泛的描述。google上的教程会给你提供更简单的分步指导,比如this one

2)使用Django。这非常适合大型项目,但在这一层面上尝试一下可能会给你提供某些见解,并打湿你对未来工作的胃口;)

相关问题 更多 >

    热门问题