Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Full Stack Web Development Using DJANGO
Highest Rated
Rating: 4.8 out of 5(53 ratings)
223 students

Full Stack Web Development Using DJANGO

Project Based Learning
Created byDr. Umesh Dutta
Last updated 12/2023
English
English [Auto],

What you'll learn

  • Full Stack Web Development using Django Framework
  • Working with Django Models and Forms
  • Django Authentication, Filtering Pagination and much more
  • Knowledge of Django Decorators
  • Deploying Django Project on PythonAnywhere platform

Course content

1 section40 lectures6h 5m total length
  • Course Introduction4:50

    Explore full stack web development with Django, building a live project from scratch featuring user signup, authentication, product catalog with pagination and search, backend admin, and deployment to Python Anywhere.

  • Creating a Django Project8:09

    Create a Django project by making a folder, creating and activating a virtual environment, installing Django, and running migrations to view the default landing page at localhost:8000.

  • Django Folder Structure7:40

    Explore the Django folder structure by inspecting settings.py, urls.py, and app files in VS Code. Bind your app to the project, run the server, and view the admin page.

  • Routes Creation in Django4:40

    Create the root route in urls.py linking to the home view in views.py, returning a home page, then add a contact route with path 'contact' returning a contact page.

  • Sending Back HTML File using Render Function5:22

    Learn how to return a full HTML page in Django by rendering home.html with the render function and organizing templates in an app-specific folder.

  • Applying Bootstrap Styling4:29

    Apply bootstrap styling to a Django home page using CDN CSS and JS, with a container and centered text, and consult the docs to choose responsive bootstrap classes.

  • Creating a Responsive Navbar17:18

    Build a reusable nav bar by creating a nav bar HTML file and including it in Django templates, delivering a responsive bootstrap navbar with a dark theme and visible hamburger.

  • Designing Carousel Section: Part 15:39

    Design and implement a Bootstrap carousel with slides, indicators, and optional text overlays, integrate it with the navbar, and source three images from Unsplash or a local folder.

  • Bootstrap Carousel: Part 220:49

    Explore building a Bootstrap carousel in a Django app by wiring slides with images from static files, applying object-fit: cover and a fixed height, and tuning captions for responsive displays.

  • Bootstrap Carousel: Part 35:27

    Modify the Bootstrap carousel by customizing headings and captions for three slides, then explore Django backend integration to render product cards with images, titles, and descriptions.

  • Bootstrap Carousel Sliding Animation4:13

    shows how to enable an auto-rotating bootstrap carousel in a django project by setting data-bs-interval and data-bs-ride on carousel items, with mobile responsiveness.

  • Django Model8:33

    Design a Django model named product with fields product_id, product_name, product_description, and product_category, and enforce unique product_id. Register the model in admin.py, apply migrations, and run the server.

  • Creating a Superuser5:02

    Create a Django super user with python manage.py createsuperuser to access the admin panel, then add a product image field and configure uploads to store in the images folder.

  • Handling Image File Upload6:16

    Configure Django media settings to enable product image uploads, install pillow, update the product model, run migrations, and test admin uploads.

  • Adding Product in Database4:02

    Add products to the database using Django admin, including product IDs, descriptions, and images stored under media/images, then render the product on the frontend as a card.

  • Fetching Information from Database6:58

    Fetches product data from the database in a Django view, uses product.objects.all, and passes it as context to home.html for rendering on the front end.

  • Rendering Card: Part 11:40

    Render bootstrap cards in Django by using the product_info context variable in home.html to display a single product, and apply bootstrap card styles by copying reference code from the documentation.

  • Rendering Card: Part 27:01

    Render product data as Bootstrap cards by iterating the Django context, building a container, row, and column, and displaying image, name, description, category, and id.

  • Rendering Card: Part 34:46

    Add pizza and cake through Django admin, with descriptions, snacks and desserts categories, and images, then render them dynamically on the home page as cards by iterating the query set.

  • Optimizing Card Section11:01

    Optimize the card section by configuring a responsive grid that renders one column on small devices, two on tablets, and three on large screens, with uniform image sizes.

  • Footer Section: Part 15:49

    Create a separate footer.html and include it in home.html using Django's include syntax. Add bootstrap icons for social media links such as Facebook, Instagram, Pinterest, and Twitter.

  • Footer Section: Part 28:35

    Enhance the footer by adding Instagram, Twitter, and Pinterest icons from Bootstrap Icons, align them in a single row with margins, and style them white on dark background with container-fluid.

  • Footer Section: Part 36:34

    Build a footer with a white copyright disclaimer in a row div, then optimize margins, padding, and icon size for prominent social links, including Twitter X.

  • Django Pagination: Part 116:00

    Implement Django pagination for the product page by using the Paginator to display three products per page, wiring views, urls, and a product.html template to render page objects.

  • Django Pagination: Part 210:59

    Implement and render Django pagination for product cards using a page_obj context, HTML loops, and navigation controls, demonstrating first, previous, next, and last pages with dynamic page numbers.

  • Contact Us Page: Part 14:01

    Build and render a Django contact page by creating a contact view and template, wiring bootstrap and navbar, and presenting a map and contact details while storing form submissions.

  • Contact Us Page: Part 212:05

    Designs the contact page with a container, row of two columns for contact info and map, embed Google Map, adjust responsiveness, and highlight JavaScript CDN integration to enable the navbar.

  • Contact Us Page: Part 323:10

    Build a bootstrap-styled Django contact form, handle post requests, save to contact_query model with name, email, message and auto-filled date time, register in admin, and provide user feedback.

  • Django Authentication: Part 113:33

    explore django authentication by implementing signup and login using authentication form and user creation form, wiring login_user and sign_up_user views, and building login_user.html and sign_up_user.html templates.

  • Django Authentication: Part 219:59

    Implement Django authentication by validating login credentials with authenticate, logging in the user, and redirecting to the home page, while handling invalid credentials with clear errors.

  • Django Authentication: Part 35:57

    Implement the Django logout flow by turning the logout button into a link, creating a logout_user view, mapping a logout URL, and validating the logout behavior.

  • Django Authentication: Part 416:50

    Implement Django signup and authentication: render signup form on get, handle post with password match and unique username checks, create and login the user, and protect product pages with decorators.

  • Decorators in Django: login_required2:56

    Learn how to enforce access control in Django by applying the login_required decorator to views, redirecting unauthorized users to the login page, and protecting product sections.

  • Styling the Brand Text5:35

    Style the navbar brand using the dancing script from Google fonts, loading via CDN, and set Spice Village in gold with an updated font size.

  • Search Bar Functionality16:01

    Implement a Django search bar that posts to a find product view, filters results by name or category using contains, and renders matches with a no record found message.

  • Optimizing Nav Bar1:25

    Adjust the navbar spacing by adding vertical margins to the buttons, ensure responsive behavior on iPad, and outline steps to host the Django project online.

  • Project Deployment: Part 117:07

    Prepare production deployment by moving the secret key to a .env file, setting debugging to false, configuring allowed hosts, and creating a requirements.txt before pushing to GitHub.

  • Project Deployment: Part 213:18

    Push your Django project to GitHub with git push, verify the upload, and deploy on PythonAnywhere by creating a virtual environment, installing requirements.txt, and configuring the web app.

  • Project Deployment: Part 315:22

    Deploy the Django project on PythonAnywhere by configuring the source code path, WSGI, and virtual environment, then fix static and media handling with collect static and proper URLs.

  • Working with SECRET Key5:50

    Use a .env file to manage Django's secret key for production, noting gitignore hides it on GitHub; without it, Django may generate default key affecting tokens, CSRF, and session security.

Requirements

  • Basic knowledge of web development (HTML, CSS and JS) and Python

Description

This course provides in depth exposure to Django web development framework.  Django is a Model View Template (MVT) architecture-based web framework.  It is currently maintained by Django Software Foundation. You will get to learn key concepts of Django framework and best practices that needs to be followed for writing clean code and securing the website that you create in this course. You will learn concepts like: Setting up a Django project, Django Models, Handling Forms, Django Authentication, Pagination, Filtering, Handling Django Admin Panel, Decorators and much more. It also covers concepts of using Bootstrap framework in a Django project so that you can design responsive web applications with ease. You will also learn the concepts related to hosting Django Project on PythonAnywhere server. It also provides a brief overview of using GitHub via terminal commands for hosting the Git repository that is created for the Django project. The course has been designed keeping in view the needs of students and entry level web developers so that they can learn the Django fundamentals in a step-by-step manner.  The course has been done in a project based and hands on manner so that you can learn the skills by applying the concepts on a project.

Who this course is for:

  • Anyone who wish to get into the field of web development using Python and Django Framework