CherryPy also known as a web application library is a Python web framework that provides a friendly interface to the HTTP protocol for Python developers. It allows developers to build web applications the same way as in traditional object-oriented Python programs. Thereby, resulting in smaller source code developed in no time.
This framework is mainly for the developers who want to create a portable database-driven web application using Python, as it provides Create, Retrieve, Update and Delete functionalities.
The basic requirements for the installation of CherryPy include:
- Python with version 2.4 or above
- Cherrypy 3.0
Installation
To install cherrypy run the following command in terminal:
pip install cherrypy
Approach:
- Create user interface to take input from user.
- Write cherrypy program to perform required operations
HTML code to take input from the user-
HTML
< html > < head > </ head > < body > < div class = "container" > < h2 >< u >< i >Operation</ i ></ u ></ h2 > < form action = "store" id = "form" method = "GET" > < input type = "number" name = "number1" />< br /> < input type = "number" name = "number2" />< br /> < input style = "margin-left: 250px;" id = " submit" type = "submit" /></ div > </ div > </ form > </ div > </ body > </ html > |
Cherrypy code for addition
Python3
import cherrypy class Root( object ): @cherrypy .expose def index( self ): return """<html> <head> </head> <body> <div class="container"> <h2><u><i>Addition</i></u></h2> <form action="store" id="form" method="GET"> <input type="number" name="number1" /><br /> <input type="number" name="number2" /><br /> <input style="margin-left: 250px;" id=" submit" type="submit"/></div> </div> </form> </div> </body> </html>""" @cherrypy .expose def store( self , number1, number2): num1 = int (number1) num2 = int (number2) answer = num1 + num2 out = """<html> <body> <p> Sum: %s</p> <a style="color:red; font-size:35px;" id="shutdown"; href="./shutdown"><i>Shutdown Server</i></a> </body> </html> """ return out % ( str (answer)) @cherrypy .expose def shutdown( self ): cherrypy.engine.exit() if __name__ = = "__main__" : cherrypy.config.update({ 'server.socket_port' : 8087 }) cherrypy.quickstart(Root()) |
Output:
Code for subtraction
Python3
import cherrypy class Root( object ): @cherrypy .expose def index( self ): return """<html> <head> </head> <body> <div class="container"> <h2><u><i>Subtraction</i></u></h2> <form action="store" id="form" method="GET"> <input type="number" name="number1" /><br /> <input type="number" name="number2" /><br /> <input style="margin-left: 250px;" id=" submit" type="submit"/></div> </div> </form> </div> </body> </html>""" @cherrypy .expose def store( self , number1, number2): num1 = int (number1) num2 = int (number2) answer = num1 - num2 out = """<html> <body> <p> Result: %s</p> <a style="color:red; font-size:35px;" id="shutdown"; href="./shutdown"><i>Shutdown Server</i></a> </body> </html> """ return out % ( str (answer)) @cherrypy .expose def shutdown( self ): cherrypy.engine.exit() if __name__ = = "__main__" : cherrypy.config.update({ 'server.socket_port' : 8087 }) cherrypy.quickstart(Root()) |
Output:
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.