DEV Community

Cover image for Django ToDo App Part 1: Django Installation and Setup
Arpit
Arpit

Posted on

Django ToDo App Part 1: Django Installation and Setup

Hello internet people, so we are starting, Learn Django by Doing Project series. So, our first project is Todo App in Django.

Today we install Django and setup the project. So let’s start. Before starting the tutorial first see a brief introduction of Django.

Brief Intro of Django

Django runs on an MVT (Model View Template) system which is different from MVC (Model View Controller) that powers Laravel.

Model: The model in Django sets out the schema for our database. With Django’s ORM, you can declare the fields, field types and any extra data for instance Meta information.

View: The View in Django, is where you set all of your code logic and algorithms. With the View, you can get some results from the database or manipulate some data. The view basically expects a request and a response. The response is usually a HTTP redirect, HTTP error (404), MimeTypes, or a call to load a template.

Template: The template in Django is the plain HTML code with Django’s Template Language in it. Django Template Language (DTL) is the language you’ll be using to dynamically write your template. You can do almost everything you’d with python and any other language.

Settings: The settings file in Django, holds all the settings of your web app. It includes the secret key, templates directories, middlewares (security), static files (css,js), database settings and so on.

Url: It helps to connect the view to a url.

Admin: This deals with how you want to view your models in the Django admin.

Virtual Environment Setup

Virtualenv is a tool used to create an isolated Python environment. This environment has its own installation directories that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either).

Installation

pip3 install virtualenv
Enter fullscreen mode Exit fullscreen mode

Before making a virtual environment we make project directory. Inside it, we make a virtual environment.

mkdir ToDoAppProject
Enter fullscreen mode Exit fullscreen mode

Inside ToDoAppProject directory we setup virtual environment.

cd ToDoAppProject/
Enter fullscreen mode Exit fullscreen mode

First find your python installation path of particular version,

/ToDoAppProject$ which python3.8
/usr/bin/python3.8
Enter fullscreen mode Exit fullscreen mode

So here I get python3.8 path. And I want python3.8 in my virtual environment.

/ToDoAppProject$ virtualenv -p /usr/bin/python3.8 env_todoapp
Enter fullscreen mode Exit fullscreen mode

Using virtualenv command we created env_todoapp virtual environment. Every python installation goes inside that. But before installing python stuff we need to activate the virtual environment.

/ToDoAppProject$ source env_todoapp/bin/activate
Enter fullscreen mode Exit fullscreen mode

Now your terminal look like this.

(env_todoapp) arpit@arpit:/DjangoTuts/ToDoAppProject$ 
Enter fullscreen mode Exit fullscreen mode

No, we are ready to install Django inside virtual environment. So let’s go…

Installing Django

pip3 install Django==3.1.1
Enter fullscreen mode Exit fullscreen mode

We are in the ToDoAppProject directory okay and the virtual environment is activated. So, all installation is done inside our env_todoapp.

Creating todoapp Project

Everything going fine right. Now we start the project using django-admin.

django-admin startproject todoapp
Enter fullscreen mode Exit fullscreen mode

The command should have created a todoapp directory. Use the command cd todoapp to go into the directory.

Run following command inside todoapp directory.

/todoapp$ python3 manage.py runserver
Enter fullscreen mode Exit fullscreen mode

Once you’ve created the project and run this command, you can run it and view the URL in the browser. You can do that with the command above and visit the given URL: http://127.0.0.1:8000/

You should be able to see something like below

django installation codesnail

If you see this, congratulation!! your Django installation is done successfully. Now we create an app.

Creating todolist App

After that, you’ll need to create a django app that holds the model and admin stuff. You can do that with the command below:

python3 manage.py startapp todolist
Enter fullscreen mode Exit fullscreen mode

Open todoapp directory in your favorite code editor. I am using VS code. Below is the structure of how our project file structure looks like after setting up everything:

django project structure codesnail

Now open settings.py in the todoapp directory. The first thing you need to do is to add the created app “todolist” in the INSTALLED_APPS.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'todolist',
]
Enter fullscreen mode Exit fullscreen mode

This holds the Django apps you’ll be using in the Django project.

That’s it for this article, next we will make model for storing task, we learn about migrations and django admin panel.

Hope you like it. Please share this tutorial with your friends.

next: ToDo App in Django Part 2: Creating Model in Django for ToDo App

Top comments (2)

Collapse
 
cyberteer88 profile image
cyberteer88

Mister CodeSnail when I click on Part 2, I get a 404 response. The same with your Django blog, part 2 goes to 404. I hope you are staying safe in India.

Collapse
 
soniarpit profile image
Arpit

It's working