
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Begin your Python web development journey for beginners by learning a web framework from basics to building nearly seven websites, including a practical end-to-end project.
Develop a first library project from scratch by implementing login, authentication, and authorization, along with the registering process, and author-based permissions to add, update, or delete books.
Build an idea setting platform in Django that lets sponsors interact with an idea picture through user accounts, posts, file downloads, views, and permissions, starting from scratch.
Build a backend driven traveling guide app from scratch, handling the database, photos, and post descriptions with author details and current user edit capabilities.
Install Python on Windows by downloading from python.org, running the setup, and verifying the path and version 3.8.2. Write and run .py scripts in IDLE or another IDE.
Install and configure PyCharm community edition on Windows, create a demo project, set the Python 3.8 interpreter, and run your first script for web development.
Download Visual Studio Code on Windows, install the Python extension, create a Python file, and run it to see hello world.
Install Python 3 on Linux, update packages, verify with the Python shell, and install third-party libraries via beep to enable data visualization, web scraping, and game development.
Install and configure PyCharm community on Linux, set up the Python interpreter, create and run a hello world script, and install libraries like pandas and BeautifulSoup.
Explore how to read and use Python documentation, navigate modules such as the math module, and leverage the official Python docs and community to build robust apps and games.
Learn how Python variables store data with the assignment operator, create and initialize them, and follow naming rules: start with a letter or underscore, use underscores for readability, avoid keywords.
Explore Python data types including strings, sets, and numbers, and learn dynamic typing, string slicing, and core concepts like immutability, uniqueness, and memory allocation.
Explore Python data types by creating and manipulating lists, dictionaries, and tuples; learn indexing, slicing, and key-based access to store and retrieve multiple values.
Learn boolean operators (logical operators) in Python, including and, or, not, with truth tables and practical examples, and master operator precedence and parentheses in expressions.
Explore comments to clarify code and how to use single-line and multi-line comments, then take user input with Python's input function and perform typecasting from string to integer.
Learn how python modules work, including built-ins and importing external modules, aliasing, and calling functions from modules like math and random, plus creating your own modules.
Explore Python list data structures, including creation, append and extend, pop and remove, slicing, indexing, sorting, copy, and membership tests with in, all, and any.
Master Python dictionary data structures by mapping keys to values, creating and updating dicts with curly braces or dict(), and accessing nested data through keys.
Explore Python string methods, including upper, lower, capitalize, title, translate, and format, to manipulate text. Learn strip, reverse, join, split, and checks like isalpha and isdigit for robust string handling.
Define and apply Python string formatting using the format method, with positional and named placeholders, and control floating point precision for web development outputs.
Learn how Python uses indentation to define the blocks for control statements, loops, functions, and classes, using spaces and tabs to ensure readability and avoid unexpected behavior.
Learn Python conditionals using if, elif, and else to control program flow by evaluating boolean conditions. See weather and temperature examples that determine which code blocks run.
Learn how to use the while loop to execute code while a condition holds. Use incrementing, break, and continue to control termination and avoid infinite loops.
Explore how for loops iterate over lists, strings, ranges, and dictionaries; control flow with break, continue, and nested loops; learn enumerate and dictionary item formatting.
Define user defined functions in Python with def, pass parameters, and call them to create reusable, modular code that handles arbitrary inputs with *args and **kwargs.
Explore default and optional arguments in Python, learn how to set default values, manage argument order, and pass lists as arguments.
Learn how to create anonymous inline lambda functions in Python, including single-line definitions, parameter handling, and using *args and **kwargs for flexible input.
Explore functional programming concepts like lambda, map, reduce, and filter, and learn how functions decompose problems to produce outputs.
Learn how Python iterators are objects that yield one element at a time, implemented via __iter__ and __next__, and the iterator protocol.
Explore how generators reduce iterator overhead by using yield instead of return and next to drive iteration. Learn to create and use generator expressions, including reversing a string.
Learn how decorators in Python take a function as an argument, augment its behavior through metaprogramming, and return a decorated function for features like logging in web development.
Explore Python list and dictionary comprehensions, turning iterables into lists or dicts with concise one-line expressions. Learn loops, conditionals, and operations like squaring numbers and uppercasing strings.
Explore object oriented programming in Python by building classes and objects, defining attributes and methods, and using constructors, self, inheritance, polymorphism, and class, static, and bound methods to model objects.
Explore Python inheritance from base and derived classes to single and multiple inheritance; reuse code with super, and learn monkey patching to extend classes.
Explore how Python supports multiple inheritance by combining two independent classes into a single subclass, and learn how to override methods and use super() to access base class behavior.
Explore polymorphism in Python by showing how different classes share a common interface and methods, enabled by dynamic typing, with dog and person examples illustrating multiple forms.
Explore operator overloading in Python by implementing magic methods to extend operators for custom classes. See vector addition and game development use cases that illustrate how operators behave with objects.
Master Python exception handling by using try, except, finally, and reraising; handle division by zero, logging, and multiple exceptions to keep programs resilient.
Master python file handling, including open modes (r, w, a, rb, wb), line-by-line reading, readlines, and basic exception handling. Create, rename, and append files; traverse directories recursively.
Understand the __name__ pattern in Python, as the interpreter sets __name__ to '__main__' for main scripts and to the module name when imported.
Explore the Python math module: import math, use round, floor, ceil, truncate, sqrt; convert degrees to radians, apply trig functions with inverses, power, handling infinity and not a number.
Explore the python random module, including selective imports, system random, and key methods like choice, sample, renderings, and seed to generate random numbers and passwords.
Explore the Python datetime module, including date, time, and datetime objects, time zones, naive vs aware, and formatting with strftime and parsing with strptime.
Learn to build and query a sqlite database in Python by creating a demo database, establishing a cursor, defining a stocks table, inserting records, and selecting data.
Explore the Python collections module, including high-performance, flexible types like Counter for letter and word counting, and deque for optimized operations, with import examples.
Explore the Python os module for cross-platform directory operations, joining and splitting paths, and file permissions with the stat module, while avoiding naming your script os to prevent conflicts.
Learn how a web server combines hardware and software to store site files, respond to browser requests, and distinguish static from dynamic servers, including application server and database usage.
Compare static and dynamic websites, including architecture, web servers, and templates. Learn how server-side programming with Django and Python generates dynamic content from a database.
Explore Zango, a high level python web framework that enables rapid deployment of secured and maintainable websites. It emphasizes security, scalability, and a model view controller architecture to streamline development.
Explore how Django code looks in a dynamic, data-driven site, using models, views, templates, and URLs to isolate components. Emphasize single responsibility, DRY, and scalability through clear separation of concerns.
Install django via pip on Windows, Linux, or macOS, then verify the version is 3.4.6 or newer and compatible with 3.0.6+.
Install and verify Zango, start a new Zango project, and explore the project structure with settings, installed apps, and urls routing to build and run a web application.
Select a suitable text editor for writing Django web applications, exploring options like Sublime Text and Brackets. Ensure comfort, readability, and lightweight performance for Python development.
Create and organize Django web apps as components, wire urls, and render views to build a dynamic site; run the development server to test static and app-based content.
Define Django models to map tables, configure settings and apps, and apply migrations with makemigrations and migrate to build a dynamic database-driven web app.
Explore basic orm on the flight model using Django, creating and saving records, running migrations, and using the shell to query all, first, and fields like origin, destination, and duration.
Add a new airport table and link flights via a foreign key to create a one-to-many relationship with on delete cascade and related_name for departures and arrivals.
Master rendering templates in a Django app by configuring app-specific templates and using render with request, template name, and context to display database data.
Discover how Django admin offers a built-in interface to add, modify, and delete database records by registering models such as airport and flight, creating a super user, and logging in.
Learn to retrieve flights by primary key, one by one, with the Django ORM, using get, filter, and get_object_or_404, and render results with templates and context.
Learn how template inheritance in Django streamlines web templates by extracting common markup into a base file and extending it with block content for specific pages like index and flight.
Explore implementing a many-to-many relationship between flights and passengers in Django, including defining the relationship, related_name, blank, migrations, and querying in views and templates.
Implement a user registration flow in the Django web app to create and assign passengers to flights via forms, handling CSRF protection and URL reversing for redirects.
Learn to build a secure login and authentication system in Django using the built-in user model, post requests, forms, CSRF tokens, and out-of-the-box authentication.
Implement a logout view, render the login template on logout, and display a personalized 'you are logged in' message with the username using a user template.
Explore Aughrim, the object-relational mapping in Django, and see how Python models map to database tables, with migrations streamlining development.
Map the database inside models, with each class representing a table, create migrations, view the sqlite data, and note primary keys for future model relationships.
Learn how model relationships define connections between tables, from one-to-many links using foreign keys with cascade delete, to many-to-many links using a join table between programmers and languages.
Explore orm queries with the company, language, and programmer models using objects, all, filter, exclude, and field lookups such as startswith, endswith, contains, and in to fetch and refine data.
Learn to use get and filter in the Django ORM to narrow results, understand single versus multiple matches, and order data with order_by, including descending options and primary keys.
Set up a Django project and app from scratch to build a book upload feature. Define a Book model with title, author, and file fields; use a ModelForm for uploads.
Learn to create and manage data with Django's basic ORM by building and listing books in a table, including models, forms, views, templates, and simple download features.
Launch a Django CRM project from scratch, build an accounts app, link a customer model to the user, and implement sign up with a custom user form.
Implement login and logout in Django by creating views that authenticate users with username and password, render templates with base layouts, and redirect on success.
Create Django product and order models, including price, category (indoor or outdoor), description, and tags many-to-many, and an order linking a customer to a product with status, with migrations.
Build a Django dashboard home page that renders orders and customers, counts delivered and pending orders, and uses template inheritance with a navigation bar and static assets.
Explores creating a Django crud operation part 1, building update and delete actions for orders with forms, views, and templates, using primary keys and dynamic order handling.
Implement delete order functionality in a Django app by selecting a specific order via its primary key, confirming deletion with a template, and redirecting to the home page.
Implement Python decorators to enforce user-level permissions in a Django CRM app, restricting admin dashboards to admins while normal users view only their own orders and data.
Enforce user level permissions in a Django app by using decorators to differentiate admin and customer access to home and user base views via groups and allowed rules.
Implement a group-based access control decorator in Django to route admin users to an admin home and customers to their user base, using redirects and group checks.
Register as a reader or author, log in, and manage the library as authors add books with title, category, price, cover, pdf, abstract, and description, while readers view and buy.
Develop a Django-based register flow by creating an accounts app, building a register view and template, validating post data, and saving a new user with unique username and email.
Implement login and logout in Django by authenticating registered users via a username and password, rendering a post-based login form with template inheritance, and handling success and errors.
Implement a two-type user system (author and customer) in a Django app, using decorators to restrict actions; register to assign user type, authors manage books while customers view and purchase.
Learn to implement a library web app with django-like models and migrations. Create a book model, extend the user with author/reader type, configure media, register apps, and migrate the database.
Implement the registration logic to store user type (reader or author) in the database by creating a user info record and linking it to the user in the book model.
Render all books from the database in a Django view, pass them to a template, and display each as a Materialize card with the cover image, title, and price.
Learn to add a book from the web app by building a post form, rendering book cards, and handling images, files, and metadata like title, category, price, and type.
Add a labeled text area for the book description with placeholder, border, and styling, plus cancel and add buttons, within the Django forms workflow.
Learn to add a new book to the database via a post form, capturing title, category, type, price, description, cover, and file, linked to the uploading user.
Learn to fetch a single book by its primary key in Django, render its description in a template, and handle login status and ownership to control access.
Learn how to enforce user level permissions in Django using custom decorators and built-in login_required to allow only authors to add or delete books, while readers remain restricted.
Launch a brand new Django project with two user types, idea Peter and sponsor, and implement registration through a custom user extension, group roles, and admin management.
Create sponsor models and views in a Django app, configure settings and forms, and assign new users to the sponsor group for registration.
Explore building core Django models for a web idea board, implementing one-to-many user to ideas, and many-to-many idea to categories, with uploads, timestamps, and migrations.
Demonstrates building a Django home page that renders ideas from the database, showing user, creation date, and category, with edit/delete actions and sponsor access control via decorators.
Define decorators to control page access by user groups, such as idea Peter and sponsor, by checking request.user groups and calling the view only when allowed, otherwise returning not authorized.
Learn to finish and test decorators by enforcing sponsor-only access with an allowed users decorator, protect sponsor views, render sponsor templates, and manage ideas and categories through context.
Implement a Django comment model to store the text and links to the idea and user, with cascade delete, and render comments under each idea via a template loop.
Post ideas to a Django web app using a form with CSRF token, category selection or creation, and file uploads. Use views and templates to redirect home.
Learn to build Django web interfaces with Materialize CSS, configure media and static routes, and implement idea posting with secure decorators and template inheritance.
Add a comment box to each idea and post comments to the database via a post form. Use the idea's primary key to associate and render comments under each idea.
Learn to implement update and delete ideas in a Django app. Use primary keys to target specific ideas, edit via forms, and redirect after changes.
Learn to create a Django project, define two user types (idea peter and sponsor), extend the user model, register users with a form, assign groups, and run migrations.
Explore how to implement user registration and login in a Django app using decorators like login required, Django authentication via authenticate and login, and rendering login forms with crispy forms.
Render travelling posts in Django by wiring models, views, and templates. Loop ideas with user, date, and category, and enforce sponsor-only access using decorators.
Design and implement a custom decorator to restrict a view to the idea Peter user group, validate current user groups, and redirect or deny access for sponsors.
Render 'view more' options for posts on sponsor page by building a sponsor base, passing ideas and categories to template, and enforcing sponsor-only access via the allowed users decorator.
Define a comment model linked to posts and users with content and created time, enabling cascade deletes. Create migrations and render per-post comments in templates.
Build a Django idea-posting feature with a post form, category dropdown, optional user-added categories, file upload, and saving ideas with the current user and timestamp.
Learn how to create posts through forms in a Django web application, including handling media uploads, encryption type settings, media routes, and template-based navigation to submit ideas.
Create a comment box under each idea using a post form, with a text area named 'comment' and a token, linking comments to ideas via the primary key.
Implement delete and edit functionality in Django by targeting a specific idea with its primary key, rendering update forms, handling post requests, and redirecting to the home page.
Have you ever wonder how to create a Web application but didn't know where to start? Have you previously tried to learn Django but got fed up with impertinent course videos and poorly written tutorials?
Then, you ended up on the right course!
In this course, I will take you through the basics of python through Django basics and all the way of creating real-world web applications. Wouldn't it be the craziest experience if you could build any web application after learning this single course?
What is Django and Why to use it?
Django is an open-source python web framework used for rapid development, pragmatic, maintainable, clean design, and secures websites. A web application framework is a toolkit of all components need for application development.
The main goal of the Django framework is to allow developers to focus on components of the application that are new instead of spending time on already developed components. It is fully featured than many other frameworks on the market. It takes care of a lot of hassle. involved in web development; enables users to focus on developing components needed for their application.
Choosing a language and framework because you used it on your last project — or because you are more familiar with it — is not the way to go.
Before starting a new software project, you want to evaluate which language and framework is the best fit for your desired outcomes. What matters most to you? Security, rapid development, scalability, versatility, support?
It’s better to make an informed choice before you begin your build rather than regretting it later (or worse “hacking” stuff into the project down the road because the stack you used doesn’t support it properly).
After years of experience with different technologies (including both mobile & web development), I believe Django offers a complete suite of features which no other web framework offer.
Content of the course:
A. Basic Python course Highlights:
Installing Python
Running Python Code
Strings
Lists
Dictionaries
Tuples
Sets
Number Data Types
Print Formatting
Functions
Scope
args/ kwargs
Built-in Functions
Debugging and Error Handling
Modules
External Modules
Object-Oriented Programming
Inheritance
Polymorphism
Encapsulation
Advanced Methods
Iterators
Closures
and much more!
B. Django Overview:
Django project structure
Model View Controller
Django Apps
Django Admin
Django View And Template
Function-Based View
Django Forms
Model Relationships
ORM
CSS/HTML and many more
C. Project Overview:
Flight Tracker
E-library
Travelling Journal
Customer Resource Management (CRM)
Idea Peacher App
Book Upload Download
Course material is regularly updated to include all of the newest updates and information. Additionally, I have made this course downloadable, so you can work through the class offline, making it as convenient as possible for you!