Django
Advanced
Django is an open-source web application framework based on Python, with a variety of features built-in that can be used to develop applications with ease and speed.
This key competency area includes the ability to implement email for communication and perform logging which can be used for debugging the application as required.
Key Competencies -
- Sending Emails - Ability to configure and implement the required code which can send emails using the Django’s email module which is built on top of python’s smtplib module.
- Logging - Ability to implement logging for the application using Django’s logging which is built on top of the python logging module.
- Signals - Understand and implement Django signals so that certain actions can be triggered based on certain events in the application.
- Security - Ability to implement certain security features into the Django application considering protection from cross-site scripting (XSS), cross-site request forgery (CSRF), SQL ingestion protection, enabling HTTPs, and so on. Although some of these vulnerabilities are handled by Django automatically, it is important for the user to consider such possibilities while securing the application.
- Performance optimization - Ability to do performance checks using tools such as Django debug toolbar or similar and follow best practices such as caching, efficient database interactions to improve the overall performance of the application, and understand the concept of laziness in Django. The user must also be able to use diagnostic tools to check the performance of the application and should be able to improve the performance by following certain best practices.
- Deployment - Ability to configure and deploy the application on a cloud platform such as AWS or similar.