We may earn an affiliate commission when you visit our partners.
Very Academy

Developing applications can be a fun and effective way of learning a language and framework. In this course we build a blog application Introducing you to Python Django Framework, Django Templating, the Bootstrap framework

This course is primarily designed for anyone looking for a journey learning the Django Framework or developing web applications with Python. This course is a great starting point or a good first step after first learning about any of the technologies that this course features.

Read more

Developing applications can be a fun and effective way of learning a language and framework. In this course we build a blog application Introducing you to Python Django Framework, Django Templating, the Bootstrap framework

This course is primarily designed for anyone looking for a journey learning the Django Framework or developing web applications with Python. This course is a great starting point or a good first step after first learning about any of the technologies that this course features.

Currently, this course presents phase 1 of the development process. In phase 1 we initiate the project and get started building and testing the core functionality of the application. In Phase 1 we learn the fundamentals of the Python Django Framework, implement templates with Django, HTML, and CSS and create dynamic content using HTMX. By the end of phase 1, you will have a working, tested application ready for deployment. The intention for this course is to further extend the content and learning experience to eventually include deeper relevant content to further aid your understanding of the development process and techniques, deployment, and other associated technologies.

I hope you enjoy the course. Don’t forget to visit us on our YouTube Channel, Very Academy, where you can further interact with the community and explore other free supplementary content.

Enroll now

What's inside

Learning objectives

  • @ phase 1 - setup and initiate new django applications
  • @ phase 1 - create dynamic webpages to include html, css and htmx interactions
  • @ phase 1 - implement a testing environment within a django project
  • @ phase 1 - create unit tests to test vital features of a django application

Syllabus

Introduction
Course Introduction
Course Code Repository
Phase 1 - Application Demonstration
Read more
Quick-Start Windows 10/11 Installation & Setup Guides
Installing Python 3.9.5
Installation and User Guide for Visual Studio Code
Creating Virtual Environments
Github Desktop Setup
Quick-Start MacOS Installation & Setup Guides
GitHub Desktop Installation Guide
[Optional] Django Framework Introduction Exercise
Preparing a new Virtual Environment
Introducing the Python Package Index
Installing the Django Framework
Creating a new Django project
Creating a new Django application
Registering a new Django application
Starting the Django Development Server
Understanding the Django Request-Response Cycle
Creating a unique URL pattern
Writing our first Django view
Creating a new HTML template
Relating an HTML template to a view
Installing a Django application from a requirements.txt file
Project Initiation - djblogger
Dev-1.0.0: Introduction
Build: Starting a New Django Project
Build: Configuring Multiple Settings Files
Build: Generating a Secret Key
Build: Configuring Environment Variables
Testing: Pytest Installation and Setup
Source Control: Creating a New GitHub Repository
VSCode: Python VSCode Extensions
Formatting: Black Configuration
Linting: Flake8 Configuration
Build: PIP Requirements
Dev-v1.0.1: Blog App – Models
Section Introduction
Source Control: Creating a New GitHub Branch
Build: Create and Register the Blog App
Build: Building the Blog Models
Build: Model Migrations
Build: Django Admin
Testing: Blog Models
Source Control: Create New Commit
Dev-v1.0.2: Blog App – Homepage
Build: Homepage View
Build: Homepage URL
Build: Base Template
Build: Static files CSS
Build: Navbar Template
Build: Google Fonts
Build: Index Splash Component
Build: Outputting Data from a Database
Build: Generate Database Data
Build: HTMX Post Pagination
Build: Tag Cloud
Build: Footer
Testing: Homepage
Dev-v1.0.3: Blog App – Single Post
Build: Single Post View
Build: 3-Column Template
Build: Horizontal Navbar
Build: Post Content
Build: Incorporating a Markdown Editor
Build: Sidebar
Testing: Single Post Testing
Dev-v1.0.4: Blog App – Posts by Tag
Source Control: Merging a GitHub Branch
Build: Posts by Tag View
Build: CBV – Custom Query
Build: HTMX Tag Post Pagination
Testing: Post by Tag
Dev-v1.0.6: Blog App – Basic Search
Build: Search URL and View
Build: Search Form
Build: Search Query
Build HTMX Post Search Pagination
Testing: Post Search
[Additional Content] - Introducing Python Linters and Formatters
Introducing Linters and Formatters
Black
Flake8

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces Django, a high-level Python web framework, which is widely used for building robust and scalable web applications, making it highly relevant for those seeking employment
Covers the fundamentals of Django, including models, views, and templates, providing a solid foundation for building more complex web applications in the future
Integrates HTMX for creating dynamic content, which allows developers to build interactive web pages with less JavaScript, offering a modern approach to web development
Involves building a complete blog application from scratch, providing practical experience and reinforcing the concepts learned throughout the course, which is useful for portfolio building
Emphasizes testing and includes unit tests, promoting good coding practices and ensuring the reliability of the Django application, which is essential for professional development
Uses Python 3.9.5, which was released in 2021, so learners should be aware that newer versions of Python are available and may offer additional features and improvements

Save this course

Save Django Project: djBlogger to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Django Project: djBlogger with these activities:
Review Core Python Concepts
Reinforce your understanding of fundamental Python concepts like data structures, control flow, and functions. This will provide a solid foundation for learning Django, which relies heavily on Python.
Browse courses on Python
Show steps
  • Review Python syntax and data types.
  • Practice writing functions and classes.
  • Work through basic Python exercises on platforms like HackerRank or LeetCode.
Read 'Django for Beginners'
Familiarize yourself with the Django framework before diving into the course. This book offers a gentle introduction to Django concepts and best practices.
View Melania on Amazon
Show steps
  • Read the first few chapters covering Django setup and basic concepts.
  • Try building a simple Django project following the book's examples.
Build a Simple To-Do App
Apply your Django knowledge by building a small project alongside the course. This hands-on experience will solidify your understanding of the framework and its components.
Show steps
  • Set up a new Django project and app.
  • Define models for tasks and their attributes.
  • Create views to handle task creation, listing, and deletion.
  • Design templates to display the to-do list and forms.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Django Model Queries
Sharpen your skills in querying the database using Django's ORM. This is crucial for efficiently retrieving and manipulating data in your blog application.
Show steps
  • Create several Django models with different field types.
  • Practice writing queries to filter, order, and aggregate data.
  • Experiment with different querysets and their methods.
Read 'Two Scoops of Django'
Expand your knowledge of Django best practices and advanced techniques. This book provides in-depth guidance on building robust and scalable Django applications.
Show steps
  • Read chapters related to topics covered in the course, such as models, views, and templates.
  • Implement some of the best practices in your djBlogger project.
Write a Blog Post on Django Best Practices
Deepen your understanding of Django by researching and writing about best practices. This will force you to think critically about the framework and its design principles.
Browse courses on Django
Show steps
  • Research common Django best practices for security, performance, and maintainability.
  • Outline the structure of your blog post.
  • Write the blog post, providing clear explanations and examples.
  • Publish your blog post on a platform like Medium or your own website.
Contribute to a Django Open Source Project
Gain real-world experience by contributing to an open-source Django project. This will expose you to different coding styles, project structures, and collaborative workflows.
Browse courses on Django
Show steps
  • Find a Django open-source project on GitHub that interests you.
  • Read the project's contribution guidelines.
  • Identify a bug or feature you can work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Django Project: djBlogger will develop knowledge and skills that may be useful to these careers:
Full-Stack Developer
A Full Stack Developer handles both frontend and backend development tasks. This course helps a Full Stack Developer by teaching many full stack technologies such as Django for the backend and HTML, CSS and HTMX for the frontend. The experience of building the djBlogger application provides a comprehensive view of the entire web development process, from database models to user interfaces. The course’s practical experience in both the Django framework and technologies used for the frontend make this course a strong starting point for a career as a Full Stack Developer.
Web Developer
A Web Developer is responsible for building and maintaining websites and web applications. This course helps a prospective Web Developer learn the Django framework which is a powerful tool for creating dynamic, interactive web experiences. The course covers essential aspects of web development such as creating templates, handling user interactions with HTMX, and setting up a testing environment. This practical experience using Django, HTML, CSS, and HTMX, coupled with the course's approach to building a full application from the ground up, makes it a good fit for a career as a Web developer.
Python Developer
A Python Developer specializes in using the Python programming language for various applications. This course is helpful for showing aspiring Python Developers how to use the Django framework. Django is built using Python, making it a key area of study. The course covers areas such as creating views, templates, and managing data, all of which are essential aspects of Python-based web development. By learning to build a full blog application with Django, a Python Developer will gain valuable practical skills and knowledge.
Application Developer
An Application Developer is involved in creating software applications for specific purposes. This course is helpful for teaching essential skills in the Django framework, including handling user interfaces and dynamic content using Django, HTML, CSS, and HTMX. The practical approach of building a complete blog application from scratch provides an excellent opportunity for prospective Application Developers to learn how to design, implement, and test a working application. These practical skills are directly applicable to application development.
Frontend Developer
A Frontend Developer focuses on the user interface and user experience of a website or application. This course helps develop frontend skills by teaching HTML, CSS, and HTMX. These technologies are used to create the visually appealing and interactive aspects of djBlogger. Learning how to implement templates within the Django framework, as well as utilizing HTML, CSS, and HTMX to create dynamic content, will directly benefit anyone looking to become a Frontend Developer. The hands-on approach of building a blog application in this course provides a solid foundation for practical skills.
Backend Developer
A Backend Developer works on the server-side logic and architecture of web applications. This course is helpful for learning about the Django framework, which is primarily a backend technology. This course covers setting up models, writing views, and managing the request-response cycle, all critical concepts for a Backend Developer. The course's focus on building a complete application is particularly useful, as a Backend Developer often needs this big-picture view of server and data management. The experience with Python, a key language in backend development, further readies learners for this role.
Software Engineer
A Software Engineer is responsible for designing, developing, and testing software systems. This course provides valuable hands-on experience that helps a Software Engineer. The course initiates projects and builds features, all while adhering to software engineering principles such as writing well-tested code. The course also teaches the importance of linting and formatting when working with code. This practical approach is particularly useful for aspiring Software Engineers who need to not only write code but ensure its quality and maintainability.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for testing software to ensure it meets quality standards. This course emphasizes testing through its integration of unit tests and testing environments within the Django project, helping a Quality Assurance Engineer learn the importance and process of software testing. The course’s hands-on approach gives learners experience with testing in a real-world application setting. The ability to design testable features and implement effective testing strategies is a key skill for a Quality Assurance Engineer, making this course particularly relevant.
DevOps Engineer
A DevOps Engineer focuses on automating and streamlining the software development lifecycle. While this course does not go in depth on deployment, it does begin to touch on it, and how development interacts with other aspects of production. The course covers version control with Git and GitHub, as well as project setup, testing and configuration. This all helps a DevOps Engineer understand the software development process. The experience gained from this project may be helpful for a DevOps Engineer to see the full cycle from development to deployment.
User Interface Designer
A User Interface Designer focuses on the visual elements that users interact with on a website or application. This course may be useful for learning about HTML and CSS which are used to create visual elements. The course focuses on creating dynamic user interfaces using Django templates and HTMX, allowing the learner to see how a user interface is built from the ground up. The experience of building an interface through code, as in this course, provides a unique perspective for a User Interface Designer, helping them understand how their designs are implemented.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. While this course does not focus heavily on database administration, it does cover setting up models and migrations within the Django framework, which are associated with database development. A future Database Administrator may find this useful to see how models are created and managed from the perspective of application development. The course may be useful for understanding how data interacts with applications, which is a valuable skill for a Database Administrator.
UX Designer
A UX Designer focuses on the overall user experience of a website or application, considering usability and accessibility. While this course does not focus directly on UX design, it does cover implementation of features such as user interfaces, which a UX Designer is interested in. The experience of building an application from the ground up, as is done in this course, may help a UX Designer understand how their design ideas are implemented in code. This practical understanding may be valuable for improving their designs and strategies.
Software Architect
A Software Architect is responsible for designing the high-level structure of a software system. This course may be useful for gaining experience with a specific software architecture. Through the process of building a full application with the Django framework, a Software Architect can better understand the considerations involved in a system's architecture. The course may be useful to understand how different components of an application interact with each other. The focus on implementing core functionalities and deploying a complete application may be useful to a Software Architect.
Technical Writer
A Technical Writer creates documentation for software products. While this course does not directly teach technical writing, it may be useful for a would-be Technical Writer to get experience with software development. The course covers the Django framework, which is worth understanding for technical writers who work with software documentation. Through this course, a Technical Writer may better understand the technologies they are documenting. The hands-on approach in building an application offers a unique perspective that is useful for a Technical Writer.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices. This course focuses on web development, not mobile, but it does teach the fundamentals of application development, which may be useful for those interested in becoming a Mobile Application Developer. The course's focus on creating templates, handling user interactions, and setting up testing environments, are applicable to the development of any application. The practical experience of building a functional application, as is done in this course, may be a helpful starting point.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Django Project: djBlogger.
Comprehensive guide to Django best practices. It covers a wide range of topics, including project structure, security, performance, and deployment. While it may be too advanced for complete beginners, it's a valuable resource for intermediate and advanced Django developers. This book is more valuable as additional reading than it is as a current reference. This book is commonly used by industry professionals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser