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 >
< 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
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
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.