User:Ndhanir

From Expertiza_Wiki
Revision as of 08:36, 5 February 2016 by Ndhanir (talk | contribs) (→‎Python)
Jump to navigation Jump to search

Web.py Introduction

Web.py is a free and open source web application framework that is as simple as it is powerful. Web.py was originally published while Aaron swartz worked at reddit.com, where the site used it ass it grew to become one of the top 1000 sites according to Alexa and served millions of daily page views. "It's the anti-framework framework. web.py doesn't get in your way." explained founder Steve Huffman.

The web.py slogan is: "Think about the ideal way to write a web app. Write the code to make it happen.". The goal of web.py is to build the ideal way to make web apps. In web.py, Instead of exposing Python objects, it allows you to build HTTP responses. Instead of trying to make the database look like an object, web.py makes the database easier to use. And instead of coming up with yet another way to write HTML, the web.py template system tries to bring Python into HTML.

Some of the sites which uses web.py are

  • Frinki, a new social network in spanish.
  • oyster.com, a website that reviews hotels uses web.py for the entire website.
  • Make History, a project of the 9/11 memorial museum.

Python

  • Ruby's creator, Yukihiro Matsumoto, has said: "I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language."[
  • Grading

Why Web.py?

The reasons for using web.py are

  • Simplicity
  • Freedom
  • writing clean code
  • minimalism
  • a solid web framework

Installation

To install web.py,

  • Firstly, download the following tar file:
wget http://webpy.org/static/web.py-0.37.tar.gz
  • Extract the downloaded tar file
tar -zxvf web.py-0.37.tar.gz
  • tar -zxvf web.py-0.37.tar.gz
cd web.py-0.37/
  • Install and make it accessible to all the applications
sudo python setup.py install

Features of web.py

web.py has two interesting features

Databases

The database package lets you access various of different databases. Accessing different databases refers to connecting to multiple databases. However, its not an ORM. This feature is missing in Django (another web framework) from long time. This feature is helpful for the people who are good at SQl and don't like to use SQL as it is similar to sqlite3 package but doesn't use ORM.

Forms

A forms package is present in web.py which let's us create forms and validators. Ironically, it doesn't have built-in protection against CSRF. If you want to create a login form, you could use forms package to create.

Another interesting feature about web.py is its flexibility. It has flexible modules which can be used with another framework.

Hello world example

import web
urls = (
	'/', 'index'
	)

class index:
	def GET(self):
		return "Hello, ECE 517!"

if __name__ == "__main__":
	app = web.application(urls, globals())
	app.run()

Conclusion

References