Building Web Application with Django Python
  • ondemand_video
       Video Length : 14h06m4s
  • format_list_bulleted
       Tasks Number : 74
  • group
       Students Enrolled : 199
  • equalizer
       Medium Level
Authors

Kevin Gautama is a systems design and programming engineer with 16 years of expertise in the fields of electrical and electronics and information technology.

He teaches at the Hanoi University of Industry in the period 2003-2011 and he has a certificate of vocational training by the Ministry of Industry and Commerce and the Hanoi University of Industry.

From extensive design experience through numerous engineering projects, the author founded the Enziin Academy.

The Enziin Academy is a startup in the field of educational, it's core goal is to training design engineers in the fields technology related.

The Enziin Academy is headquartered in Stockholm-Sweden with an orientation operating multi-lingual and global.

The author's skills in IT:

  • Implementing the application infrastructure on Amazon's cloud computing platform.
  • Linux server system administration (Sysadmin).
  • Design load balancing and content distribution system.
  • MySQL database administration.
  • C/C++/C# Programming
  • Ruby and Ruby on Rails Programming
  • Python and Django Programming
  • The WPF/C# on the .NET Framework Programming
  • The PHP/JAVA Programming
  • Machine Learning and Expert System.
  • Internet of Things.

The author's skills in the fields of electric and electronic:

  • The design of popular CPU / MCU systems.
  • Design FPGA / CPLD system (Xilinx - Altera).
  • Design and programming of DSP systems (Texas Instruments).
  • Embedded ARM system design.
  • The RTOS Programming
  • Design and programming electronic power systems.
  • PLC - inverter - sensor - electric control cabinet industrial.
  • Control systems distributed connection with Server.

Read more...

  • Curriculum
  • 1. Introduction
    • videocam
      Overview of Django

      11m26s
    • videocam
      Install Django on MacOS

      11m26s
    • videocam
      Install Django on Ubuntu

      11m26s
    • videocam
      Install Django on Windows

      11m26s
    • videocam
      Install Django on Docker

      11m26s
    • videocam
      Creating a project file structure

      11m26s
  • 2. Model and Database in Django
    • videocam
      Database query in Django

      11m26s
    • videocam
      Aggregation Model

      11m26s
    • videocam
      Model management

      11m26s
    • videocam
      Database query with SQL statement

      11m26s
    • videocam
      Multi-database in application

      11m26s
    • videocam
      Association between models

      11m26s
    • videocam
      Optimizing database queries

      11m26s
  • 3. HTTP Request Handle
    • videocam
      Passing HttpRequest to the form

      11m26s
    • videocam
      Templates in Django

      11m26s
    • videocam
      Uploading images

      11m26s
    • videocam
      Downloading authorized files

      11m26s
    • videocam
      Filtering object lists

      11m26s
    • videocam
      Generating PDF documents

      11m26s
    • videocam
      Render and redirect

      11m26s
    • videocam
      Session in Django

      11m26s
  • 4. Forms
    • videocam
      How forms work

      11m26s
    • videocam
      Displaying forms

      11m26s
    • videocam
      Creating a form layout

      11m26s
    • videocam
      Understanding CSRF

      11m26s
    • videocam
      Template Engine in Django

      11m26s
    • videocam
      Form processing with Class-based views

      11m26s
    • videocam
      Form patterns

      11m26s
  • 5. Migrations Model
    • videocam
      Migrations Statements

      11m26s
    • videocam
      Databases are supported

      11m26s
    • videocam
      Perform Migrations

      11m26s
    • videocam
      History of Migrations

      11m26s
  • 6. Test and Debug
    • videocam
      Test-driven development

      11m26s
    • videocam
      Writing a test case

      11m26s
    • videocam
      Mocking

      11m26s
    • videocam
      Test fixtures and factories

      11m26s
    • videocam
      Debugging

      11m26s
    • videocam
      The Django Debug Toolbar

      11m26s
    • videocam
      The Python debugger pdb

      11m26s
  • 7. Security in Django
    • videocam
      Cross site scripting (XSS)

      11m26s
    • videocam
      Cross site request forgery (CSRF)

      11m26s
    • videocam
      SQL injection

      11m26s
    • videocam
      Clickjacking

      11m26s
    • videocam
      Shell injection

      11m26s
    • videocam
      Use SSL certificate

      11m26s
  • 8. Project: Build a web application
    • videocam
      Create new app

      11m26s
    • videocam
      Install Bootstrap

      11m26s
    • videocam
      Product Model

      11m26s
    • videocam
      Category Model

      11m26s
    • videocam
      User Model

      11m26s
    • videocam
      Associations between models

      11m26s
    • videocam
      Account management with django-allauth

      11m26s
    • videocam
      Use Google reCaptcha

      11m26s
    • videocam
      Dashboard admin page

      11m26s
    • videocam
      Two-factor authentication

      11m26s
    • videocam
      Send email for account management

      11m26s
    • videocam
      Attach avatar image

      11m26s
    • videocam
      Data storage on Amazon S3

      11m26s
    • videocam
      Create view pages for the product

      11m26s
    • videocam
      Pagination and friendly URL

      11m26s
    • videocam
      Search and sort products

      11m26s
  • 9. Order and Payment Tasks
    • videocam
      Create a shopping cart

      11m26s
    • videocam
      Build Order method

      11m26s
    • videocam
      Payment with Paypal

      11m26s
    • videocam
      Payment with Visa/Master

      11m26s
    • videocam
      Send email for Order

      11m26s
    • videocam
      Create a periodic task run in the background

      11m26s
    • videocam
      Sharing Bar for social networking

      11m26s
    • videocam
      Optimize the application

      11m26s
    • videocam
      Responsive layout for multi-resolution

      11m26s
  • 10. Deploy Application
    • videocam
      Install a Linux Server

      11m26s
    • videocam
      Deploy the application manually

      11m26s
    • videocam
      Deploy the application with automation script

      11m26s
    • videocam
      Install SSL certificate and background tasks

      11m26s
Django
Building Web Application with Django Python


Note: This is a module belongs to the classes, billing features separate for this module will be allowed if the content matches. The classes using this module are listed below.

Django is a free and open-source web framework, written in Python, which follows the model-view-template (MVT) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established as a 501(c)(3) non-profit.

Django's primary goal is to ease the creation of complex, database-driven websites. Django emphasizes reusability and "pluggability" of components, rapid development, and the principle of don't repeat yourself. Python is used throughout, even for settings files and data models.

Django also provides an optional administrative create, read, update and delete interface that is generated dynamically through introspection and configured via admin models.

Despite having its own nomenclature, such as naming the callable objects generating the HTTP responses "views", the core Django framework can be seen as an MVC architecture.

It consists of an object-relational mapper (ORM) that mediates between data models (defined as Python classes) and a relational database ("Model"), a system for processing HTTP requests with a web templating system ("View"), and a regular-expression-based URL dispatcher ("Controller").

Also included in the core framework are:

  • A lightweight and standalone web server for development and testing
  • A form serialization and validation system that can translate between HTML forms and values suitable for storage in the database
  • A template system that utilizes the concept of inheritance borrowed from object-oriented programming
  • A caching framework that can use any of several cache methods
  • Support for middleware classes that can intervene at various stages of request processing and carry out custom functions
  • An internal dispatcher system that allows components of an application to communicate events to each other via pre-defined signals
  • An internationalization system, including translations of Django's own components into a variety of languages
  • A serialization system that can produce and read XML and/or JSON representations of Django model instances
  • A system for extending the capabilities of the template engine
  • An interface to Python's built-in unit test framework

Bundled applications

The main Django distribution also bundles a number of applications in its "contrib" package, including:

  • An extensible authentication system
  • The dynamic administrative interface
  • Tools for generating RSS and Atom syndication feeds
  • A site's framework that allows one Django installation to run multiple websites, each with their own content and applications
  • Tools for generating Google Sitemaps
  • Built-in mitigation for cross-site request forgery, cross-site scripting, SQL injection, password cracking and other typical web attacks, most of them turned on by default
  • A framework for creating GIS applications

Table of Content

1. Introduction

  • Overview of Django
  • Install Django on MacOS
  • Install Django on Ubuntu
  • Install Django on Windows
  • Install Django on Docker
  • Creating a project file structure

2. Model and Database in Django

  • Database query in Django
  • Aggregation Model
  • Model management
  • Database query with SQL statement
  • Multi-database in application
  • Association between models
  • Optimizing database queries

3. HTTP Request Handle

  • Passing HttpRequest to the form
  • Templates in Django
  • Uploading images
  • Downloading authorized files
  • Filtering object lists
  • Generating PDF documents
  • Render and redirect
  • Session in Django

4. Forms

  • How forms work
  • Displaying forms
  • Creating a form layout
  • Understanding CSRF
  • Template Engine in Django
  • Form processing with Class-based views
  • Form patterns

5. Migrations Model

  • Migrations Statements
  • Databases are supported
  • Perform Migrations
  • History of Migrations

6. Test and Debug

  • Test-driven development
  • Writing a test case
  • Mocking
  • Test fixtures and factories
  • Debugging
  • The Django Debug Toolbar
  • The Python debugger pdb

7. Security in Django

  • Cross site scripting (XSS)
  • Cross site request forgery (CSRF)
  • SQL injection
  • Clickjacking
  • Shell injection
  • Use SSL certificate

8. Project: Build a web application

  • Create new app
  • Install Bootstrap
  • Product Model
  • Category Model
  • User Model
  • Associations between models
  • Account management with django-allauth
  • Use Google reCaptcha
  • Dashboard admin page
  • Two-factor authentication
  • Send email for account management
  • Attach avatar image
  • Data storage on Amazon S3
  • Create view pages for the product
  • Pagination and friendly URL
  • Search and sort products

9. Order and Payment Tasks

  • Create a shopping cart
  • Build Order method
  • Payment with Paypal
  • Payment with Visa/Master
  • Send email for Order
  • Create a periodic task run in the background
  • Sharing Bar for social networking
  • Optimize the application
  • Responsive layout for multi-resolution

10. Deploy Application

  • Install a Linux Server
  • Deploy the application manually
  • Deploy the application with automation script
  • Install SSL certificate and background tasks