Hello and welcome to this course on the Django framework.
Many of the activities you do every day can be entirely performed online.
You can use applications on your phone, computer,
tablet or other devices to access the web.
In many web applications, the data is stored in a database and this data can
be accessed on the web server by a programming language such as Python.
Once the data is retrieved,
it can be then sent to the end users inside web pages using HTML.
As an aspiring developer, you have some existing knowledge and
skills with these technologies.
Now is the time to level up these skills by combining them to create a dynamic
web application using the Django framework.
Django is an open-source web framework written in Python that is used to
build large scale back end web applications.
To work with Django you will need a good working knowledge of databases,
Python, HTML and CSS.
However, you will also need to learn about many new tools, concepts and workflows.
In this course introduction, you may encounter many new terms, but
don't worry if you don't fully understand all of them.
During the course, you'll explore these concepts in more detail alongside the many
other tasks that form the duties of a Django developer.
To assist with your learning you will take on the role of a junior developer working
in the development team for the restaurant Little Lemon.
In this fictitious role, you will encounter many real-world scenarios
applying your newfound knowledge.
You will work through these scenarios,
overcoming challenges by implementing solutions.
As your skill set grows, you will focus on the tools of the framework,
how they are used and why you need to use them.
For example, Little Lemon recently launched its first
website containing some HTML, CSS and JavaScript.
Adrian, the co-founder knows that as the company grows, so must its website.
In the future he wants to transition from a static website to a web application.
The main goal is to store all content in a database and provide user access.
As a result,
he has asked your team to build the next version using the Django web framework.
Your job is to use your existing knowledge of Python, HTML, CSS and
databases to explore the features of Django.
Then you will build a prototype of the new web application using the framework.
You will then present this prototype to Adrian and
the rest of the development team.
This course consists of five modules.
Let me introduce them briefly now.
First, you'll get an introduction to Django and why It's a popular choice for
backend development.
Next, you will explore the concept of views to create logic,
to present data to the end users.
In the next module, you will dive deeper into your learning by exploring models.
Once you are comfortable working with models,
you will learn how to work with templates.
Finally, you will put your new skills into practice with the graded
assessment to create a basic web application.
Now that you have a general understanding of the structure of the course,
let's explore each of these modules in a little more detail.
In the first module, you will be introduced to the concept of a web
framework, you will learn how to create a Django web application and
how it is primarily composed of two components, projects and apps.
Then you will learn how to create and work with projects and apps using specific
command line tools with the commands, django-admin and manage.py.
You will put your newly acquired skills into practice to create an app inside
an existing project using the correct structure.
You will conclude this module by expanding upon web frameworks to show the MVT
pattern, code reusability and how Django project structure is set up to suit this.
In the next module you will explore views.
You will learn about what a view is and how to process basic HTTP requests.
Then you will discover how Django developers use the request and
response objects for common operations.
You will learn how to differentiate parameters and
how they associate with HHTP methods such as get, put, post and delete.
Then you will explore the use of regular expressions to create
different URL patterns and map your URL to views.
You will list common HHTP errors and
handle these errors at the HTTP view logic and view levels.
Lastly you will learn more about class-based views in Django and
how to reuse them across a project.
In the next module, you will fully explore models, you will learn how to use
the Django admin panel to add and control the permissions of users and groups.
Then you will explore how to use the QuerySet API
to interact with the database.
You will create a form and use the form API to bind data to objects.
Finally, you will learn how to set up a MySQL database and
apply migrations to keep your data up to date.
In the next module, you will fully explore templates, you will learn
how to create templates and use the template language to create markup.
Then you will explore how to use templating to generate HTML.
Next, you will learn how to integrate third party libraries into your
Django app.
You will end off by exploring, debugging and testing in Django.
In the final module, you will have an opportunity to recap the key
elements of the course before taking the course project.
In the project, you will create a data driven web application for
the Little Lemon Restaurant.
Okay, so now you know what you will be learning,
let's take a quick overview about how the course will be delivered to you.
There are many videos in your course that will gradually guide you towards
your goal, watch, pause, rewind and
re-watch the videos until you are confident in your skills.
Then consolidate your knowledge by consulting the course,
readings and put your skills into practice during the course exercises.
Along the way,
you'll encounter several knowledge quizzes where you can self check your progress and
you're not alone in considering a career as a Django developer.
Which is why you will also work with course discussion prompts that enable you
to connect with your classmates.
It's a great way to share knowledge, discuss challenges and make new friends.
To be successful in this course, it is helpful to commit to a regular and
disciplined approach to learning.
You need to be serious about your study and if possible, map out a study schedule
with dates and times that you can devote to attending the course.
It's an online self paced course, but it does help to think
of your study in terms of regular attendance at a learning institute.
In summary, this course provides you with a complete introduction to Django and is
part of a program of courses that lead you towards a career in back in development.