What is Django?
Django is a high-level Python Programming based web framework designed for quick website development. Django reduces the hurdle in web development so that developers can focus on their work. It allows you to write your application in the versatile, secure, portable and scalable environment.
In traditional websites, an application waits for HTTP client request from a web browser. The app starts execution once it receives a request from GET/POST method of the URL. The program then performs read/write or other operations on a database and returns the response to the web browser inserting data into the dynamic placeholders of the web page.
Django web applications handle the code in separated files such as:
- URLs: Every single URL is subjected to process a single request, so a written view function handles each resource. A URL mapper redirects the request on the targeted view.
- View: View works as a request handler, which processes the HTTP requests and returns a response to them. View access requested data from models.
- Models: Python objects which are used to define the structure of the data and provide ways to access(create, delete, modify) records from the database.
- Templates: Template defines the layout of the page or file with specific placeholders where the content is stuffed during execution.
Sending Request to View:
urls.py file holds the URL mapper. Mapper defines the list of mappings between routes and corresponding view functions. Routes are the specific URL patterns. Once the HTTP request is received with a matched URL, then the request is passed to the associated view function.
Handling the Request:
The primary motive of the view is to accept the HTTP request from the client and return the desired response. In the meantime, it organises the various resources to access the database and render the template page. View functions receive the HttpRequest object parameter request and return a string. In general, views are kept in the views.py file.
Defining Data Model:
Django web application manages query data with python objects known as models. The structure of the stored data such as label, forms, values, size etc., are defined inside a model. Once you have selected the database for the application, then create your model structure and let Django communicated with the database for your work.
Django model makes query API for making a query to the database. It matches for the various fields with multiple attributes at a time. It can also perform complex search operations, e.g., group name starts with ‘Ya’ or end with ‘co’.
Templates specify the structure of the result document, using placeholders for the template rendering such as the placeholder field on the page filled with the generated data. Sometimes these templates are used to create HTML and other kinds of document. Django supports the python library Jinja2 and inbuilt templating system.
The Django supports various other features to leverage your web application such as forms, user authentication, caching, serialisation etc. If you are willing to mark your presence on the internet through a website, Django is one of the best options.