<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cthinkel</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cthinkel"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Cthinkel"/>
	<updated>2026-05-09T03:57:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85550</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85550"/>
		<updated>2014-09-15T04:50:10Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Comparison to other Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Comparison to other Frameworks==&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws ideas from each.&lt;br /&gt;
&lt;br /&gt;
The creators of web2py borrowed the Ruby on Rails approach of convention over configuration and Django's approach of generating forms from database tables and including a large amount of validators out of the box.&lt;br /&gt;
===&amp;lt;u&amp;gt;Controllers&amp;lt;/u&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyTestController &amp;lt; ApplicationController&lt;br /&gt;
 def index&lt;br /&gt;
 render_text “Hello World”&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&lt;br /&gt;
Django requires the user to specify all of his/her imports in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from django.http import HttpResponse&lt;br /&gt;
def index(request):&lt;br /&gt;
 return HttpResponse(&amp;quot;Hello World”)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web2py====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): &lt;br /&gt;
 return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;u&amp;gt;Models&amp;lt;/u&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article &amp;lt; ActiveRecord::Migration&lt;br /&gt;
 def self.up&lt;br /&gt;
 create_table :articles do |t|&lt;br /&gt;
 t.column :name, :string&lt;br /&gt;
 t.column :description, :text&lt;br /&gt;
 end&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article(models.Model):&lt;br /&gt;
 name = models.StringField()&lt;br /&gt;
 description = models.TextField()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web2py====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Article=db.define_table(‘Article’,&lt;br /&gt;
 SQLField(‘email’,’string’),&lt;br /&gt;
 SQLField(‘description’,’text’)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;u&amp;gt;Views&amp;lt;/u&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;% @recipes.each do |recipe| %&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;%= recipe.name %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
{% for recipe in recipes %}&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
{% endfor %} &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web2py====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 {{for recipe in recipes:}}&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{=recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 {{pass}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85543</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85543"/>
		<updated>2014-09-15T02:20:36Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Comparison to other Frameworks==&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws ideas from each.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;u&amp;gt;Controllers&amp;lt;/u&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyTestController &amp;lt; ApplicationController&lt;br /&gt;
 def index&lt;br /&gt;
 render_text “Hello World”&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&lt;br /&gt;
Django requires the user to specify all of his/her imports in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from django.http import HttpResponse&lt;br /&gt;
def index(request):&lt;br /&gt;
 return HttpResponse(&amp;quot;Hello World”)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web2py====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): &lt;br /&gt;
 return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;u&amp;gt;Models&amp;lt;/u&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article &amp;lt; ActiveRecord::Migration&lt;br /&gt;
 def self.up&lt;br /&gt;
 create_table :articles do |t|&lt;br /&gt;
 t.column :name, :string&lt;br /&gt;
 t.column :description, :text&lt;br /&gt;
 end&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article(models.Model):&lt;br /&gt;
 name = models.StringField()&lt;br /&gt;
 description = models.TextField()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web2py====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Article=db.define_table(‘Article’,&lt;br /&gt;
 SQLField(‘email’,’string’),&lt;br /&gt;
 SQLField(‘description’,’text’)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;u&amp;gt;Views&amp;lt;/u&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;% @recipes.each do |recipe| %&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;%= recipe.name %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
{% for recipe in recipes %}&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
{% endfor %} &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web2py====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 {{for recipe in recipes:}}&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{=recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 {{pass}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85542</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85542"/>
		<updated>2014-09-15T02:17:26Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Django */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws ideas from each.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Controllers&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyTestController &amp;lt; ApplicationController&lt;br /&gt;
 def index&lt;br /&gt;
 render_text “Hello World”&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
Django requires the user to specify all of his/her imports in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from django.http import HttpResponse&lt;br /&gt;
def index(request):&lt;br /&gt;
 return HttpResponse(&amp;quot;Hello World”)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): &lt;br /&gt;
 return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Models&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article &amp;lt; ActiveRecord::Migration&lt;br /&gt;
 def self.up&lt;br /&gt;
 create_table :articles do |t|&lt;br /&gt;
 t.column :name, :string&lt;br /&gt;
 t.column :description, :text&lt;br /&gt;
 end&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article(models.Model):&lt;br /&gt;
 name = models.StringField()&lt;br /&gt;
 description = models.TextField()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Article=db.define_table(‘Article’,&lt;br /&gt;
 SQLField(‘email’,’string’),&lt;br /&gt;
 SQLField(‘description’,’text’)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Views&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;% @recipes.each do |recipe| %&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;%= recipe.name %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
{% for recipe in recipes %}&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
{% endfor %} &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 {{for recipe in recipes:}}&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{=recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 {{pass}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85541</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85541"/>
		<updated>2014-09-15T02:16:13Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Comparison to other Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws ideas from each.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Controllers&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyTestController &amp;lt; ApplicationController&lt;br /&gt;
 def index&lt;br /&gt;
 render_text “Hello World”&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from django.http import HttpResponse&lt;br /&gt;
def index(request):&lt;br /&gt;
 return HttpResponse(&amp;quot;Hello World”)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): &lt;br /&gt;
 return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Models&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article &amp;lt; ActiveRecord::Migration&lt;br /&gt;
 def self.up&lt;br /&gt;
 create_table :articles do |t|&lt;br /&gt;
 t.column :name, :string&lt;br /&gt;
 t.column :description, :text&lt;br /&gt;
 end&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Article(models.Model):&lt;br /&gt;
 name = models.StringField()&lt;br /&gt;
 description = models.TextField()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Article=db.define_table(‘Article’,&lt;br /&gt;
 SQLField(‘email’,’string’),&lt;br /&gt;
 SQLField(‘description’,’text’)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Views&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;% @recipes.each do |recipe| %&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;%= recipe.name %&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
{% for recipe in recipes %}&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
{% endfor %} &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 {{for recipe in recipes:}}&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;{{=recipe.name}}&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 {{pass}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85539</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85539"/>
		<updated>2014-09-14T23:23:22Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Comparison to other Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws ideas from each.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Controllers&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Models&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;Views&amp;lt;/u&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85538</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85538"/>
		<updated>2014-09-14T23:22:22Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Comparison to other Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws ideas from each.&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
=====Ruby on Rails=====&lt;br /&gt;
&lt;br /&gt;
=====Django=====&lt;br /&gt;
&lt;br /&gt;
=====Web2py=====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85488</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85488"/>
		<updated>2014-09-14T19:55:20Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
This diagram shows an example of how web2py handles requests and renders the request to the browser:&lt;br /&gt;
&lt;br /&gt;
[[File:Architecture.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws similarities from each.&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Architecture.PNG&amp;diff=85480</id>
		<title>File:Architecture.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Architecture.PNG&amp;diff=85480"/>
		<updated>2014-09-14T19:49:44Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85370</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85370"/>
		<updated>2014-09-14T05:20:02Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Comparison to other Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
Since web2py was inspiried by Rails and Django, it draws similarities from each.&lt;br /&gt;
&lt;br /&gt;
====Ruby on Rails====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Django====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85369</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85369"/>
		<updated>2014-09-14T05:09:57Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;6foot&amp;quot;&amp;gt;[[#6body|6.]]&amp;lt;/span&amp;gt; http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85368</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85368"/>
		<updated>2014-09-14T04:59:36Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
* '''Model''' - The data&lt;br /&gt;
* '''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
* '''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85367</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85367"/>
		<updated>2014-09-14T04:58:53Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
'''Model''' - The data&lt;br /&gt;
&lt;br /&gt;
'''View''' - Presents the data in a user-friendly way.&lt;br /&gt;
&lt;br /&gt;
'''Controller''' - Acts as the glue between the model and view and handles the logic for displaying the data.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85366</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85366"/>
		<updated>2014-09-14T04:54:40Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.png]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85365</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85365"/>
		<updated>2014-09-14T04:53:44Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85364</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85364"/>
		<updated>2014-09-14T04:53:34Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
[[File:MVC-Process.JPG]]&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:MVC-Process.png&amp;diff=85363</id>
		<title>File:MVC-Process.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:MVC-Process.png&amp;diff=85363"/>
		<updated>2014-09-14T04:53:11Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85362</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85362"/>
		<updated>2014-09-14T04:51:21Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
Web2py follows a Model-View-Controller (MVC) architecture.&lt;br /&gt;
&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85361</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85361"/>
		<updated>2014-09-14T04:36:58Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85360</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85360"/>
		<updated>2014-09-14T04:35:59Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImageUpload.png]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85359</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85359"/>
		<updated>2014-09-14T04:34:46Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:imageUpload.png]]&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:ImageUpload.PNG&amp;diff=85358</id>
		<title>File:ImageUpload.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:ImageUpload.PNG&amp;diff=85358"/>
		<updated>2014-09-14T04:34:25Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85357</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85357"/>
		<updated>2014-09-14T04:27:11Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;5body&amp;quot;&amp;gt;[[#5foot|[5]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;5foot&amp;quot;&amp;gt;[[#5body|5.]]&amp;lt;/span&amp;gt; http://mherman.org/blog/2012/12/01/crash-course-in-web2py-part-2-web-forms/#.VBT9d_ldVuJ &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85356</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85356"/>
		<updated>2014-09-14T04:25:51Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Webform.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85355</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85355"/>
		<updated>2014-09-14T04:25:01Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[File:Webform.png]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Webform.png&amp;diff=85354</id>
		<title>File:Webform.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Webform.png&amp;diff=85354"/>
		<updated>2014-09-14T04:23:47Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85353</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85353"/>
		<updated>2014-09-14T04:23:19Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Forms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[File:http://www.backwardsteps.com/uploads/2012-11-30_2330.png]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85352</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85352"/>
		<updated>2014-09-14T04:13:14Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[http://www.backwardsteps.com/uploads/2012-11-30_2330.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85351</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85351"/>
		<updated>2014-09-14T04:12:17Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Forms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:http://www.backwardsteps.com/uploads/2012-11-30_2330.png]]&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85350</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85350"/>
		<updated>2014-09-14T04:09:51Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85349</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85349"/>
		<updated>2014-09-14T04:08:04Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web Forms====&lt;br /&gt;
&lt;br /&gt;
In the Model:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db = DAL('sqlite://webform.sqlite')&lt;br /&gt;
db.define_table('register',&lt;br /&gt;
    Field('first_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('last_name', requires=IS_NOT_EMPTY()),&lt;br /&gt;
    Field('email', requires=IS_NOT_EMPTY()))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def display_your_form():&lt;br /&gt;
    form = SQLFORM(db.register)&lt;br /&gt;
    return dict(form=form)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Web Form&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Inputs:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;h2&amp;gt;Submitted variables:&amp;lt;/h2&amp;gt;&lt;br /&gt;
{{=BEAUTIFY(request.vars)}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85339</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85339"/>
		<updated>2014-09-14T03:26:29Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Web Forms====&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85242</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85242"/>
		<updated>2014-09-14T01:16:54Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
&lt;br /&gt;
You may download and run web2py by following the instructions on [http://www.web2py.com/init/default/download this page].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
A complete list web2py-provided examples can be found [http://www.web2py.com/init/default/examples here].&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85241</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85241"/>
		<updated>2014-09-14T01:14:28Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, Web2py doesn't require that you install anything, you may access and demo the capabilities online through their [http://www.web2py.com/demo_admin/default/site demo administrative interface]. At the time of this article's writing, the save demo is not fully-functional.&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85237</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85237"/>
		<updated>2014-09-14T01:08:32Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;====&lt;br /&gt;
In the Model:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85235</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85235"/>
		<updated>2014-09-14T01:07:28Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Code Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
&lt;br /&gt;
====Hello World====&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Upload====&lt;br /&gt;
In the Model:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db=DAL('sqlite://storage.db')&lt;br /&gt;
db.define_table('image', &lt;br /&gt;
    Field('name', notnull=True),&lt;br /&gt;
    Field('file','upload'))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index():&lt;br /&gt;
    form = SQLFORM(db.image).process()&lt;br /&gt;
    if form.accepted:&lt;br /&gt;
        response.flash = 'image uploaded'&lt;br /&gt;
    return locals()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the View:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{extend 'layout.html'}}&lt;br /&gt;
&amp;lt;h1&amp;gt;Image upload form&amp;lt;/h1&amp;gt;&lt;br /&gt;
{{=form}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85234</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85234"/>
		<updated>2014-09-14T01:06:06Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
===Code Examples===&lt;br /&gt;
Creating a web2py application can be as simple as writing a few lines in a single controller file (default.py):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def index(): return &amp;quot;Hello World&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85195</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85195"/>
		<updated>2014-09-14T00:06:22Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper].&lt;br /&gt;
&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85191</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85191"/>
		<updated>2014-09-14T00:04:11Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source licensed under the [http://www.gnu.org/licenses/lgpl.html GNU LGPL v3.0 License]&lt;br /&gt;
* Support for mutiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper]. &lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85190</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85190"/>
		<updated>2014-09-14T00:02:56Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required&lt;br /&gt;
* Open source under an LGPL 3.0 License&lt;br /&gt;
* Supports multiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper]. &lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85188</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85188"/>
		<updated>2014-09-14T00:02:41Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
* Accessible anywhere, without any installation required. &lt;br /&gt;
* Open source under an LGPL 3.0 License&lt;br /&gt;
* Supports multiple databases including: SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, and Google App Engine&lt;br /&gt;
* Equipped with a Data Abstraction Layer that removes the requirement of knowing how to write SQL by doing it for you in real-time&lt;br /&gt;
* Role-based authorization of resources&lt;br /&gt;
* Error logging and ticketing system&lt;br /&gt;
* An web-based administrative interface for ease of interaction&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper]. &lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85185</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85185"/>
		<updated>2014-09-13T23:55:58Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
Here are some of the features of Web2py&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;3body&amp;quot;&amp;gt;[[#3foot|[2]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;4body&amp;quot;&amp;gt;[[#4foot|[3]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* Web2py runs on Windows, Mac, Unix/Linux, Google App Engine, Amazon EC2, and almost any web hosting via Python 2.5/2.6/2.7/pypy, or Java with Jython.&lt;br /&gt;
*&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper]. &lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;4foot&amp;quot;&amp;gt;[[#4body|4.]]&amp;lt;/span&amp;gt; http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2013/oss_SocialMediaFeeds &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85182</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85182"/>
		<updated>2014-09-13T23:48:07Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
There are [http://web2py.com/poweredby several websites] currently powered by Web2py, including a [http://pymines.appspot.com/ website] hosting the ever-popular game [http://en.wikipedia.org/wiki/Minesweeper_(video_game) Minesweeper]. &lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85170</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85170"/>
		<updated>2014-09-13T23:14:05Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py was originally introduced as a teaching tool to used to demonstrate ease of use and deployment. It was modeled after [http://en.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails] and [http://en.wikipedia.org/wiki/Django_(web_framework) Django], and as such focuses on rapid development and adheres to the [http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model View Controller] architecture pattern.&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;2foot&amp;quot;&amp;gt;[[#2body|2.]]&amp;lt;/span&amp;gt; http://en.wikipedia.org/wiki/Web2py &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;3foot&amp;quot;&amp;gt;[[#3body|3.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/what &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85161</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85161"/>
		<updated>2014-09-13T23:05:51Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85160</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85160"/>
		<updated>2014-09-13T23:05:36Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
=Architecture=&lt;br /&gt;
=Comparison to other Frameworks=&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85159</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85159"/>
		<updated>2014-09-13T23:05:24Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
===Architecture===&lt;br /&gt;
===Comparison to other Frameworks===&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85158</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85158"/>
		<updated>2014-09-13T23:03:25Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;1foot&amp;quot;&amp;gt;[[#1body|1.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85157</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85157"/>
		<updated>2014-09-13T23:03:12Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications written in Python.&amp;lt;sup&amp;gt;&amp;lt;span id=&amp;quot;1body&amp;quot;&amp;gt;[[#1foot|[1]]]&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;7foot&amp;quot;&amp;gt;[[#7body|7.]]&amp;lt;/span&amp;gt; http://www.web2py.com/init/default/index &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85133</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85133"/>
		<updated>2014-09-13T20:04:00Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/ Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85132</id>
		<title>CSC/ECE 517 Fall 2014/ch1a a7 ch</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2014/ch1a_a7_ch&amp;diff=85132"/>
		<updated>2014-09-13T20:03:48Z</updated>

		<summary type="html">&lt;p&gt;Cthinkel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Web2py Framework =&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
== Examples ==&lt;br /&gt;
== Narration ==&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
[http://www.web2py.com/examples/static/web2py_vs_others.pdf/Q Web2py vs other frameworks] &lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Cthinkel</name></author>
	</entry>
</feed>