Django Tutorial – Web Development with Python Django Framework

In this article, we discuss Django Tutorial – Web Development with Python Django Framework

Django Tutorial – Web Development with Python Django Framework

Django Tutorial – Web Development with Python Django Framework
Django Tutorial – Web Development with Python Django Framework

Django Tutorial – Web Development with Python Django Framework

Django Tutorial – Web Development with Python Django Framework, Web Development is an evergreen domain with plenty of opportunities. Now that you have landed on this blog, you are either a web developer or aspiring to be one. Either way, you should know that Python Django Certification is a skill in high demand for quick web project development and has been nicknamed as “the web framework for perfectionists with deadlines”. I am going to talk about one of the most trending web development framework Django and will help you get started with it. In this Django Tutorial – Web Development with Python Django Framework , I will introduce you to the fundamental concepts of Django and help you understand how everything fits together while building a Django application. So let’s get started with this Django tutorial and understand all the topics in the following sequence:

  • Why Web Framework and Why Django?
  • What is Django Python?
  • How to Install Django
  • Features of Django
  • Django Architecture
  • Django Installation
  • Build your First Web Application in Django

Django Tutorial: Why Web Framework and Why Django?

Before understanding Django, let’s first understand why do we need a web framework? A web framework is a server-side application framework which is designed to support the development of dynamic websites. With the help of a framework, you don’t have to handle the hassles of web development and its various components. Therefore, it makes the life of a web application developer much easier as they don’t have to code from scratch. There are various web development frameworks available in the market. Some of them are listed below:

  • React JS
  • Angular
  • Ruby on Rails
  • Express

One of the highlights of Django is that it is built on python. From several years python has been the most popular programming language and continues to be a favorite among the skilled programmers. Hence, Django delivers transparent and high-quality code writing, making it important for the developers as well as the customers. It has various other advantages as it has an automatic administration interface, Object-relational mapper(ORM) and many more. So let’s understand what exactly it is.

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to What is Django Python?

What is Django Python?

Django is an open source web framework which was named after Django Reinhardt. 

It follows the principle of “Don’t Repeat Yourself”.  As the name says, this principal is all about keeping the code simple and non repeating. Django is also a high level, MVT architect which stands for Model View Template.

django logo
Django Tutorial – Web Development with Python Django Framework

Is Django easy to learn?

Django is very easy to learn and get started with. You can learn Django in a couple of weeks, however to become really good at Django you will need time and you will need to build projects.

How to Install Django?

In this Python Django Tutorial you can learn Django from scratch on how to install Django and other concepts which are ideal for both beginners and professionals.

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to Features of Django

Features of Django

Some of the key features of Django are:

Fast
Django Tutorial – Web Development with Python Django Framework

Fast: Django is ridiculous fast. It encourages rapid development with a clean and pragmatic design. It is free and open source which helps the developers to complete their app as fast as possible. Django takes care of much of the hassle of Web development without needing to reinvent the wheel.

Packages
Django Tutorial – Web Development with Python Django Framework

Tons of Packages: Django contains set of components that helps you to develop your websites faster and easier. You don’t need to download it separately as Django installs all the extras, packages and the related dependencies to handle common web development tasks. It also takes care of user authentication, content administration, site maps and many more.

Secure 300x129 1
Django Tutorial – Web Development with Python Django Framework

SecureDjangois highly secure as lot more work has been done there by the python web community. It helps the developers to avoid many common security mistakes, such as SQL injection, cross-site scripting, csrf and clickjacking. Its user authentication system provides a secure way to manage user accounts and passwords.

Scalable 300x187 1
Django Tutorial – Web Development with Python Django Framework

Scalable: Django has a set of good defaults and Python makes it very explicit. Also, Instagram and Disqus are two products that serve millions of users and use Django as their primary backend. So I’d rather say it’s pretty scalable.

Versatile 300x129 1
Django Tutorial – Web Development with Python Django Framework

Versatile – Django is used to build all sort of things – from content management systems to social networks to scientific computing platforms. Therefore, Django is extremely versatile in all fields.

Is Django better than PHP?

Advantages of Django over PHP:

  • Better Design
  • Python And Long Term
  • Better Web Framework
  • Simpler Syntax
  • Debugging Tools

Next, let us move ahead in this Django tutorial and understand the architecture or internal working of Django.

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to Django Architecture

Django Architecture 

Django follows a MVC- MVT architecture.

MVC stands for Model View Controller. It is used for developing the web publications, where we break the code into various segments. Here we have 3 segments, model view and a controller.

mvc django tutorial
Django Tutorial – Web Development with Python Django Framework

Model –  Model is used for storing and maintaining your data. It is the backend where your database is defined.

Views – In Django templates, views are in html. View is all about the presentation and it is not at all aware of the backend. Whatever the user is seeing, it is referred to a view.

Controller – Controller is a business logic which will interact with the model and the view.

Now that we have understood MVC, lets learn about Django MVT pattern.

MVT stands for Model View Template. In MVT, there is a predefined template for user interface. Let’s take an example, say you want to write several static html forms like hello user 1, hello user2 and so on. With template, you will be having only one file that prints hello along with the variable name. Now this variable will be substituted in that particular template using some jinja logic. That’s the magic of template, you don’t need to rewrite the code again n again!

Now you might be wondering where is the controller?

In the case of MVT, Django itself takes care of the controller part, it’s inbuilt.

Moving ahead in Django tutorial, let’s understand how things work internally.

mvc
Django Tutorial – Web Development with Python Django Framework

In the above image, template is your front end which will interact with the view and the model will be used as a backend. Then view will access both the model and the templates and maps it to a url. After that, Django plays the role of controller and serves it to the user.

Now that you understand the architecture or how Django works internally, let’s move ahead in Django tutorial and install Django in our systems.

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to is Django frontend or backend?

Is Django frontend or backend?

  • Neither, Django is a framework, Python is the language in which Django is written.
  • For the front end, Django helps you with data selection, formatting, and display. It features URL management, a templating language, authentication mechanisms.
  • For the backend, Django comes with an ORM that lets you manipulate your data source with ease, forms to process user input and validate data and signals, and an implementation of the observer pattern.

How do I start Django in Python?

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to Django Installation

Django Installation

Let me guide you through the process of installing Django on your system. Just follow the below steps:

Step 1: Go to the link: https://www.djangoproject.com/download/
Step 2: Type the pip command on command prompt and installation will get started.

Refer to the below screenshot to get a better understanding.

Django installation
Django Tutorial – Web Development with Python Django Framework

By following the above steps, you are done with the Django installation part. Next, its time we build our own web application.

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to Web development

Is Python enough for Web development?

Python indeed is a favorite among application programmers as well as web developers (thanks to Django) owing to its strong emphasis on readability and efficiency.

Excited? Let’s get started!

So, next up on this ‘Django Tutorial – Web Development with Python Django Framework’ blog we look in to First Web Application in Django

Build Your First Web Application in Django

For creating a web application, first let’s create a project. To create a project, just enter into a directory where you would like to share your code, then run the following command:

django-admin startproject myproject

Once your project has been created, you will find a list of files inside the project directory. Let’s discuss each one of them.

manage.py – It is a command-line utility that lets you interact with this Django project in various ways. 

myproject/ – It is the actual Python package for your project. It is used to import anything, say –  myproject.urls. 

ProjectDirectory Django
Django Tutorial – Web Development with Python Django Framework

init.py – Init just tells the python that this is to be treated like a python package.

settings.py – This file manages all the settings of your project. 

urls.py – This is the main controller which maps it to your website.

wsgi.py – It serves as an entry point for WSGI compatible web servers.

Note that to create your application, make sure you are in the same directory as manage.py and then type the below command:

python manage.py startapp webapp

Now if we look at the ‘webapp’ directory, we have some extra things from the original myproject. It includes model, test which are related to your backend databases.

Next in Django tutorial, you need to import your application manually inside your project settings. For that, open your myproject/settings.py and add your app manually:

INSTALLED_APPS = (
    'webapp',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

Once you have installed your app, let’s create a view now. Open your webapp/views.py and put the below code in it:

from django.shortcuts import render
from django.http import HttpResponse
 
def index(request):
    return  HttpResponse("
 
<H2>HEY! Welcome to Thestackoverflow! </H2>
 
 
")

In the above code, I have created a view which returns httpResponse. Now we need to map this view to a URL. We need a URLconf in our application. So let’s create a new python file “urls.py” inside our webapp. In webapp/urls.py include the following code:

from django.conf.urls import url
from . import views
urlpatterns = [
 url(r'^$', views.index, name='index'),
]

In the above code, I have referenced a view which will return index (defined in views.py file). The url pattern is in regular expression format where ^ stands for beginning of the string and $ stands for the end.

The next step is to point the root URLconf at the webapp.urls module. Open your myproject/urls.py file and write the below code:

from django.conf.urls import include, url
from django.contrib import admin
 
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^webapp/', include('webapp.urls')),
]

In the above code, I have added my webapp and included the webapp.urls. Now don’t forget to import django.conf.urls.include and insert an include() in the urlpatterns list. The include() function allows referencing other URLconfs. 

Note that the regular expression doesn’t have a ‘$’ but rather a trailing slash, this means whenever Django encounters include(), it chops off whatever part of the URL matched up to that point and sends the remaining string to include URLconf for further processing.

We are now done with the coding part! Let’s now start the server and see what happens. To start the server, type the below command:

python manage.py runserver
HEY Welcome to Thestackoverflow
Django Tutorial – Web Development with Python Django Framework

Hurray! We have successfully created a basic Web App.

Is Django worth learning in 2020?

  • Django is definitely worth learning, especially if you don’t have an experience with programming. It’s one of the most popular Python frameworks.
  • As far as the other advantages of Django, the framework offers many essential tools for building a regular app.

Is Django good for beginners?

Django is a web-framework that can handle all of your data and handle it better than any web framework out there. Django is the 1st Web Framework for Python for a reason: it’s easy enough for beginners and yet powerful enough for the pros.

I hope you have enjoyed reading this Django tutorial. We have covered all the fundamentals of Django, so you can start practicing now. After this Django tutorial, I will be coming up with more blogs on Django for web app development, REST framework, Django models and many more. Stay tuned for my next blog in this series!

Also Checkout Top 10 Python Libraries You Must Know In 2021

If you interested in Entertainment genre please check this also Celebrity Birthday Today

Related Posts

2 thoughts on “Django Tutorial – Web Development with Python Django Framework

Leave a Reply

Your email address will not be published. Required fields are marked *