Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
Postbacks
3.
Internationalization
4.
Frequently Asked Questions
4.1.
What is the web2py framework?
4.2.
For what purpose is Web2py used?
4.3.
Which is easier, Web2py or Django?
4.4.
Which is preferable, Django or web2py?
5.
Conclusion 
Last Updated: Mar 27, 2024

Postbacks and Internationalization in web2py

Crack Google SDE interview : Essential projects
Speaker
Saurav Prateek
SDE-2 @
20 Jun, 2024 @ 01:30 PM

Introduction

Web2Py is written in Python and programmable in Python. A free, open-source web framework named Web2py allows for quickly creating safe, database-driven online applications. Web2py is a full-stack framework that includes all the components needed to build fully functional online applications.

Web2Py

Web2Py

Web2py is the ideal framework for a Python programmer who wants to build a website utilizing a quick, open-source, full-stack framework. Web2py assists us in creating database-driven web applications that are quick, scalable, and portable. We will now learn about Postbacks and Internationalization in Web2py in this article.

Postbacks

A postback is a method of sending an HTTP POST request to the page that initially contained the form.

Postbacks have various applications, but form input validation is where they are most frequently utilized.

The Web2Py file must be downloaded and executed to configure the Web2Py code to operate on a specific IP address and port. After logging in, the application must then be configured on the administrative interface. Most Web2Py functions, including the ones used in this article, don't require importation.

Self-submission must be implemented. Hence the default controller function needs to be configured:

def first():
    if request.vars.email_address:
        session.email_address = request.vars.email_address
        redirect(URL('second'))
    return dict()


Additionally, the HTML file needs to be set up:

{{extend 'layout.html'}}
Email Address: 
<form>
  <input name="email_address" />
  <input type="submit" />
</form>


The email address variable from the POST request is used in this section of the code. The session.email_address variable is then used to store this variable in the session data.

The HTML file of the following page must also be modified because forms must be able to transfer information to other websites:

{{extend 'layout.html'}}
<h1> {{=session.email_address}} has logged in!</h1>


Since the first page's Python function has been configured to send POST requests to itself, the second page accesses the session data to allow information to be passed between pages.

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
Bootcamp

Internationalization

Hardcoded strings like "What is your name?" are probably present in your code. Without changing the code, you should be able to change strings and, in particular, add language translations for these strings. In this method, web2py will utilize the Italian translation for the strings, if available, if a visitor has their browser's language selection set to "Italian". The "internationalization" feature of web2py is discussed in greater detail in the following chapter.

Here, we merely note that you must annotate strings that require translation to use this feature. To accomplish this, enclose a quoted string in code using something like

"What is your name?"


with the T operator:

T("What is your name?")


You can also mark for translation strings hardcoded in views. For example,

<h1>What is your name?</h1>


becomes

<h1>{{=T("What is your name?")}}</h1>


Except for tables and field names, it is best practice to perform this for every string in the code (field labels, flash messages, etc.).

The rest of the process is handled mainly by web2py once the strings have been detected and marked up. There is a page in the admin interface where you can translate each string into any language you want to support.

A robust pluralization engine that is part of web2py is discussed in the following chapter. Both the Markdown renderer and the internationalization engine are integrated.

We've learned a lot of new concepts up to this point, so let's look at some Frequently Asked Questions related to them.

Frequently Asked Questions

What is the web2py framework?

Web2py, written in Python and programmable in Python, is a free, open-source online framework for agile development that involves database-driven web applications.

For what purpose is Web2py used?

Web2py is mainly used to program dynamic websites using Python as a programming language. It contains all the tools, components, and APIs essential to building a fully functional web application.

Which is easier, Web2py or Django?

Web2py differs from Django since it's very compact and easier to learn. Unlike Django, it doesn't have any project-level configuration file.

Which is preferable, Django or web2py?

Due to its smaller size, short learning curve, and lack of project-level configuration files, Web2py is preferred over Django. Compared to PHP-based frameworks and Java-based frameworks, Web2py has a significantly more explicit syntax than PHP-based and Java-based frameworks, making this application easier to comprehend, maintain, and create.

Conclusion 

This article has extensively discussed Postbacks and Internationalization in web2py and their examples. 

After reading about web2py, are you not feeling excited to read/explore more articles on the topic of web2py? Don't worry; Coding Ninjas has you covered. See How to say hello in Web2pyAdd Authentication to an Image Blog in Web2py, and Date and Time Validators In Web2py.

Refer to our Guided Path on Coding Ninjas Studio to upskill yourself in Data Structures and AlgorithmsCompetitive ProgrammingJavaScriptSystem Design, and many more! 

Conclusion Image
Previous article
Some Basic Concepts to Web2py Programming
Next article
Adding Images to the Web2py Blog
Live masterclass