
Part two teaches building an invoice management system with Django, including logging in, creating invoices via an invoice button, viewing recent invoices, auto calculating line totals, and generating PDF invoices.
Learn advanced form rendering in Django using Crispy Forms to transform a basic invoice form into a polished layout with invoice date, number, customer details, and line items.
Use a single reusable navbar across all pages of the invoice management app. Update links in one shared include to keep home, invoice, and entry pages in sync.
List invoice objects from the database in a Bootstrap-styled table with static files, applying alternating colors, center alignment, and 95% width; include count, customer, invoice number, date, and amount.
Implement a search form in the invoice management system to filter records by invoice number, customer name, or both, supporting starts with and partial matches with template rendering.
Add data validation to the Django invoice form by enforcing required fields such as invoice number, customer name, and line one, and raise validation errors for blanks.
Update invoice data by editing items through a clickable invoice name, using a form, post requests, and validations, then view the updated list of invoices.
Learn how to delete an invoice record in a Django app, with a confirmation prompt, a post request to perform deletion, and a redirect back to the invoice list.
Learn to implement a Django choice field (dropdown list) in models with a three-step, data-validation approach, then make migrations, migrate, and expose the choice in forms.
Learn to implement user notifications in Django using the built-in messages framework to show success or error feedback after actions like login or saving invoices, with template display and redirects.
Display the six most recent invoices by date, counting total invoices and slicing the invoice queryset, then render them in the invoice created template with name, date, and total.
Learn how to integrate jquery and jquery-ui into a django invoice management app by adding javascript and handling static files. This enables dynamic line item controls and UI interactions.
This is part 2 of 3 of the course "learn Django by building an Invoice Management System course". This course will take off from where Part 1 ends to continue the development of the complete Invoice Management System.
This course will cover several concepts of Python and Django framework while building the Invoice Management System.
We will cover a brief demo of the application to be built in this course. Please refer to Part 1 for the complete Demo of the Application
First I will take you through what we are expected to build in this course.
Right after a short demo, we will dive into the steps by step building of the invoice management system for you to have a hands-on building a real-world application with python and Django and to better understand how to code.
These are the topics covered in this course:
Lecture 1: App demo
This is a brief demo of the application to be built in the tutorials. Again please check on Part 1 for a full demo that showed the full application and its features.
Lecture 2: Advance form rendering with Crispy forms
Lecture 3: Using one navbar for all pages
Lecture 4: Listing Objects from Database into a table
Lecture 5: Making a Search Form and Querying Data
Lecture 6: Data Validation making sure users input clean data into the application
Lecture 7: Updating Data stored in the application
Lecture 8: Deleting Data and Confirming
Lecture 9: Django Choice Fields
Lecture 10: Adding User Notification
Lecture 11: Slicing Data - Displaying Recent Invoices
Lecture 12: Adding jQuery and jQuery-UI to Django
Wow! after covering all these lectures, you are ready for Part 3
Keep Coding :)