freeCodeCamp/guide/chinese/python/web-frameworks-and-what-the.../bottle/index.md

2.9 KiB
Raw Blame History

title localeTitle
Bottle 瓶子

瓶子框架使我们能够非常快速轻松地启动和运行基本的Web应用程序。

以下详细介绍了如何编写和运行简单的问候Web应用程序我们可以在表单中输入我们的名称按提交并回复问候语。

  1. 使用pip安装瓶子包装。

    pip install bottle 
    
    
  2. 创建加载站点时要提供的html文件。例如index.html

    让我们在此页面中添加标题和基本表单。

    
    <h3>Say Hello</h3> 
    
     <form action="/hello" method="get"> 
     Name: 
        <input type="text" name="name"><br><br> 
        <input type="submit"> 
     </form> 
    
    
  3. 创建一个新的python文件例如main.py

  4. 在文件的第一行我们需要从瓶模块导入getrequest和run函数。

    from bottle import get, request, run 
    
    
  5. 现在我们定义我们的函数来在访问根页面时提供html文件。

    这里我们使用@get装饰器,它指定此函数应响应HTTP GET请求并传入'/'作为函数将被调用的路径。

    接下来,我们使用def关键字定义index()函数。

    要读取并返回我们在步骤2中创建的html文件我们使用所谓的上下文管理器。它为我们处理打开和关闭文件允许我们读取文件和内容并使用return语句返回它们。

    @get('/') 
     def index(): 
        with open('./index.html') as f: 
            return f.read() 
    
    
  6. 为了让网站运行并监听请求,我们需要添加对瓶框架run函数的调用,如下所示。

    在这里我们传入将运行Web应用程序的主机在本例中为localhost 以及它应该侦听HTTP请求的端口。

  7. 运行应用程序并将其加载到浏览器http// localhost8080 /中您应该看到我们在浏览器中创建的eariler渲染的html文件。

    如果我们输入我们的名字并按现在提交,我们将收到HTTP 404错误,因为我们尚未定义响应此请求的功能。

    run(host='localhost', port=8080) 
    
    
  8. 回到我们的main.py文件中,我们现在需要定义在汇总表单时要响应的函数。

    我们再次在这里使用@get装饰器,但是这次我们传入'/.hello'作为路径。您可能会注意到,这与我们在index.html中的表单的action属性中定义的路径相同。

    接下来我们从url中检索name在提交表单时表单数据的url编码如下http// localhost8080 / helloname = Jon + Snow

    最后,我们返回问候语,附上表格中输入的姓名。

    @get('/hello') 
     def hello(): 
        name = request.query['name'] 
        return f'Hello {name}' 
    
    

来源

https://bottlepy.org/docs/dev/