2.9 KiB
title | localeTitle |
---|---|
Bottle | 瓶子 |
瓶子框架使我们能够非常快速,轻松地启动和运行基本的Web应用程序。
以下详细介绍了如何编写和运行简单的问候Web应用程序,我们可以在表单中输入我们的名称,按提交并回复问候语。
-
使用
pip
安装瓶子包装。pip install bottle
-
创建加载站点时要提供的
html
文件。例如index.html
。让我们在此页面中添加标题和基本表单。
<h3>Say Hello</h3> <form action="/hello" method="get"> Name: <input type="text" name="name"><br><br> <input type="submit"> </form>
-
创建一个新的python文件,例如
main.py
-
在文件的第一行,我们需要从瓶模块导入get,request和run函数。
from bottle import get, request, run
-
现在我们定义我们的函数来在访问根页面时提供html文件。
这里我们使用
@get
装饰器,它指定此函数应响应HTTP GET
请求并传入'/'
作为函数将被调用的路径。接下来,我们使用
def
关键字定义index()
函数。要读取并返回我们在步骤2中创建的html文件,我们使用所谓的上下文管理器。它为我们处理打开和关闭文件,允许我们读取文件和内容并使用
return
语句返回它们。@get('/') def index(): with open('./index.html') as f: return f.read()
-
为了让网站运行并监听请求,我们需要添加对瓶框架
run
函数的调用,如下所示。在这里,我们传入将运行Web应用程序的主机,在本例中为
localhost
,以及它应该侦听HTTP请求的端口。 -
运行应用程序并将其加载到浏览器http:// localhost:8080 /中,您应该看到我们在浏览器中创建的eariler渲染的html文件。
如果我们输入我们的名字并按现在提交,我们将收到
HTTP 404
错误,因为我们尚未定义响应此请求的功能。run(host='localhost', port=8080)
-
回到我们的
main.py
文件中,我们现在需要定义在汇总表单时要响应的函数。我们再次在这里使用
@get
装饰器,但是这次我们传入'/.hello'
作为路径。您可能会注意到,这与我们在index.html
中的表单的action属性中定义的路径相同。接下来我们从url中检索
name
值,在提交表单时,表单数据的url编码如下:http:// localhost:8080 / hello?name = Jon + Snow最后,我们返回问候语,附上表格中输入的姓名。
@get('/hello') def hello(): name = request.query['name'] return f'Hello {name}'