Code360 powered by Coding Ninjas X Code360 powered by Coding Ninjas X
Table of contents
Debugging Toolbar
Let’s Count
How to Say the Name in Web2py
Frequently Asked Questions
Explain web2py.
Is web2py an efficient Python web framework?
How can I launch Web2py?
What are Django and Flask?
Which is preferable, Django or web2py?
Last Updated: Mar 27, 2024

Some Basic Concepts to Web2py Programming

Author Ishita mishra
0 upvote
Master Python: Predicting weather forecasts
Ashwin Goyal
Product Manager @


The Python programming language is a flexible, high-level language that, among other things, is simple to use for web programming. It might be challenging and tedious to create web applications on your own. Online frameworks handle a lot of the labor-intensive work and can make a template for you to construct your web application quickly.

Python supports a variety of web frameworks. Web2py programming framework is one of the most intriguing. You may fully construct your web app using the full-stack web framework Web2py. It includes a full web IDE for program design, a multi-threaded web server, and SQL database integration.

Let us go through some fundamental ideas and concepts for building Web2py programming applications.

Debugging Toolbar

The Debug Toolbar gives quick access to data like benchmark results, queries you've executed, request and response data, and more on the currently requested page. You can use all of this to your advantage while developing to troubleshoot and optimize.

The following syntax is used to view the debugging toolbar:


You may add the above syntax to the code in a view for debugging purposes. 

It will display important information, including the request, response, session objects, and a list of all debugging queries and their timing.

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job

Let’s Count

Let's now include a counter on this page to track how frequently a single visitor views it.

Using sessions and cookies, web2py tracks visitors automatically and transparently. It establishes a session and allots a unique "session id" for each new visitor. The session serves as a storage location for variables kept on the server. A cookie is used to transmit the unique id to the browser. When a user requests another page from the same application, the browser sends back the cookie, which web2py retrieves and uses to resume the relevant session.

Change the default controller to use the session:

  def index():
          if not session.counter:
              session.counter = 1
              session.counter += 1
          return dict(message="welcome to coding ninjas", counter=session.counter)

Note that while the session is a web2py keyword, the counter is not. If a counter variable doesn't already exist in the session, we instruct web2py to create one and set it to 1. If the counter is there, we ask web2py to add 1 to it. Finally, we give the view the value of the counter.

Now change the view to include a line showing the value of the counter:

        <h2>Number of visits: {{=counter}}</h2>

You will always receive the following HTML page when you return to the index page:

Every time a visitor reloads the website, the counter tied to them increases. Different counters are visible to various visitors.

How to Say the Name in Web2py

Make two pages (first and second), the first of which opens a form and requests the visitor's name before redirecting them to the second page, which addresses them by name.

In the default controller, enter the corresponding actions as follows:

  def first():
      return dict()
  def second():
      return dict()

Then for the first action, create a view called "default/first.html" and type in:

  {{extend 'layout.html'}}
  <h1>What is your name?</h1>
  <form action="{{=URL('second')}}">
    <input name="visitor_name" />
    <input type="submit" />

Create a view called "default/second.html" to represent the second action:

      {{extend 'layout.html'}}

  <h1>Hello {{=request.vars.visitor_name}}</h1>

The standard "layout.html" view that comes with web2py has been expanded in both views. The layout view maintains the two pages' same appearance and feel. Since it primarily contains HTML code, the layout file is simple to alter and replace.

Enter your name here if you go to the first page:

and submit the form, you'll get the following greeting:

Frequently Asked Questions

Explain web2py.

Python-based Web2py programming application is a free and open-source online framework. Web developers can use Python to make dynamic web content thanks to Web2py. The goal of Web2py programming is to speed up time-consuming web development tasks like creating web forms from scratch.

Is web2py an efficient Python web framework?

Web2py is an outstanding framework that offers simplicity of usage, from installation to learning to code to distribution to deployment. It has a feature set that is incredibly extensive and allows for a lot of customization, which makes it very effective at achieving its goal.

How can I launch Web2py?

There is no need to install web2py. Start by unzipping the Web2py file that corresponds to your operating system after downloading the zip file for that OS.

What are Django and Flask?

With its batteries-included approach, Django is a full-stack web framework that offers ready-to-use solutions. Flask is a simple framework with many built-in functionalities, none of which require third-party libraries.

Which is preferable, Django or web2py?

Web2py differs from Django due to its reduced size, more accessible learning curve, and lack of project-level configuration files. Web2py provides a substantially cleaner syntax than PHP-based frameworks and Java-based frameworks. Applications are now simpler to understand, maintain, and develop.


This article extensively discussed the importance of Web2py programming and also covered some fundamental concepts used while creating a web application using the Web2py programming framework.

We sincerely hope that this blog has improved your understanding of Web2py architecture. Visit the blogs  Web2pyWeb2py InstallationWeb2py initWeb2py applicationTroubleshooting, and capacity planning use cases if you wish to discover more information on the topic.

Do upvote our blogs to help other ninjas grow!

Happy Learning, ninjas!

Previous article
How to say hello in Web2py?
Next article
Postbacks and Internationalization in web2py
Live masterclass