Open In App

Introduction to Bottle Web Framework – Python

Improve
Improve
Like Article
Like
Save
Share
Report

There are many frameworks in python which allows you to create webpage like bottle, flask, django. In this article you will learn how to create simple app bottle.Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library.

Routing: Requests to function-call mapping with support for clean and dynamic URLs.

Templates: Fast and pythonic built-in template engine and support for mako, jinja2 and cheetah templates.

Utilities: Convenient access to form data, file uploads, cookies, headers and other HTTP-related metadata.

Server: Built-in HTTP development server and support for paste, fapws3, bjoern, gae, cherrypy or any other WSGI capable HTTP server.

In order to create the app using bottle  we have to install it first

Windows

pip install bottle

Ubuntu

pip3 install bottle

By default, if we pass a template name to the SimpleTemplate and it will look for a file by that name in a subdirectory views with the extension .tpl.

First we have to create the directory for our project Test_project

Inside that create a file and name it as app.py

app.py

Python3




from bottle import route, run, template
  
  
@route('/')
def index():
    return template('index.tpl')
  
  
run(host='localhost', port=8080,debug=True)


Then create the new directory  views

Inside that create a file index.tpl

HTML




<html>
    <head>
        <title>GFG</title>
    </head>
    <body>
         <h1>Welcome to GFG</h1>
    </body>
</html>


To run this app open cmd or terminal

Windows

python app.py

Ubuntu

python3 app.py

Output :

To handle POST method in bottle we have to write two functions one for GET method and one for POST method.

Python3




from bottle import get,post,request,Bottle,run,template
  
  
app = Bottle()
  
@app.get('/updateData'# For GET method
def login_form():
    return template('index.tpl')
  
@app.post('/updateData')   #For POST method
def submit_form():
    name = request.forms.get('name')
    print(name)
    return f'<h1>{name}</h1>'
  
run(app, host='0.0.0.0', port=8000)


Inside views directory create new file forms.tpl

HTML




<html>
    <head>
        <title>GFG</title>
    </head>
    <body>
        <form method="post" action="/updateData">
             <input type="text" name="name">
             <button type="submit">Save</button>
        </form>
    </body>
</html>


To run this app open cmd or terminal

Windows

python app.py

Ubuntu

python3 app.py

Output :



Last Updated : 16 Mar, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads