Pytech Resources

Practical Django Web Development (4 days)ΒΆ

A comprehensive course to master all the elements of the Django Web Development Framework and using it to rapidly build high-quality Web applications that are also easily maintenable.

This course is available for on-site deliveries for groups of 3 or more persons. Email to “pcboey” at “yahoo.com” for more information or a quotation.

Overview

Django is a powerful Web development framework written in Python that easily enables the rapid development of rich web sites. This course will teach programmers how to use Django for the design, implementation and management of web applications.

Syllabus

This course is taught over 4 days and students will learn how to use the core Django components as well as advanced techniques, modules and third party tools. During the course, a web site featuring a complete content-management system will be developed including user authentication, advanced forms, session management, email notification functionality, and a complete administrative interface.

  1. Introduction to Django. Discusses what is a web framework, the MVC design pattern, a little historical background behind Django
  2. Getting Started. We install Django and learn how to start a project
  3. Views and URLconfs. Covers the basics of creating dynamic web pages, producing page content using view functions, specifying the URL using URL configuration files (URLconfs). Using regular expressions for specifying patterns for powerful URL matching. A look at how Django processes a request.
  4. Templates. A thorough discussion of the Django template system :
    • Creating template objects
    • Using Context objects to render a template
    • Template tags and filters
    • Views with templates
      • Basics of using a template in a view
      • Loading template files
      • The render_to_response() shortcut
      • The include template tag
      • Template inheritance
      • RequestContext processor
  5. Database Models. Dicusses the MVC pattern in web development, how to configure the database, define Django Models to create and install your database and using the database API to create, retrieve, update and delete records. How to create your Django app and adding it to your project.
  6. Django Admin Interface. The Admin Interface is optional but considered as an essential feature for certain web sites. Learn how to activate it and use the Admin site.
  7. HTML forms with the Forms class
    • The Django forms library
    • Creating the form
  8. Sessions and users. This section discusses the issues involved in access control with the sessions and users framework. The use of cookies to maintain state is explained. Django’s approach to maintaining state is to use the session framework and you will learn how to enable sessions and use them in views.
  9. Generic views. Using Django generic views to provide easy interfaces to perform commonly encountered generic tasks such as displaying list and detail pages for a single object.
  10. Integrating AJAX with Django.
  11. Sending email.
  12. Syndication feeds. Learn how to use the Django syndication-feed-generating framework to easily create RSS and Atom feeds.
  13. Generating pdf output using Reportlab. Describes about the third party library, Reportlab, and how to use it with Django to generate pdf reports.
  14. Caching for Performance. Review the different levels of cache granularity available in Django and how to set up your cache as appropriate.
  15. Protecting against CSRF. This section discusses a Web site security explot known as cross-site request forgery (CSRF, also known as session riding) and the use of the django.contrib.csrf package to protect against it.
  16. Deploying Django. Covers the deployment of your Django application (so far developed on the development server, runserver) onto the Apache web server for exposure to the public.

Prerequisites

This course assumes a basic understanding of the Python programming language, object-oriented programming and relational database concepts (but SQL knowledge is not really needed).

Instruction Format

The course is designed to be taught on a 9-5 schedule with a one hour lunch break and 2 fifteen minutes coffee break. Class time is about evenly split between lectures and hands-on programming exercises. Participants typically spend 3-4 hours each day programming with Django.

About the Trainer

Boey Pak Cheong holds an honours degree in Chemical Engineering from Universiti Malaya but became keenly interested and actively involved in computer programming from the late 1980s onwards. He has more than 20 years experience in software development using various programming languages (including Python, C, PHP, Javascript, HTML, CSS2, LaTeX ) in the Windows and Linux operating systems, with 15 years experience in using the Python language in a production environment. Currently, he is the Principal Consultant with Pytech Resources specializing in Python and Django training and consultancy services, web applications and software development. He has previously worked in technical and management positions with British Petroleum, ITT and Alcatel and also attended a senior management training program at the London Business School, UK.

He has conducted many professional training courses in Python programming and the Django Web Development Framework at the introductory, intermediate and advanced levels for leading multinational companies in Malaysia.

He created the software for a leading e-commerce website using Python that dynamically generates comprehensive pdf reports either in English or Chinese and continues active development of new products for this website as well as new ones. This and other websites created by him are hosted using Django/Apache. Has many years of experience in Linux systems including training, installation and administration of servers, databases (MySQL and PostgreSQL), Apache web server, Django web framework, email servers, etc.

Contact

Please contact us for more information.

Previous topic

Advanced Python Programming