Learn how to create a Django project and a Django application in this quick-start tutorial.
To start off create a new folder for the Django project and move into it:
mkdir django-quick-start && cd $_
Here I called
django-quick-start the main folder that will hold the project. Pay attention, this is not the actual Django project, but just its "home". Once inside the new folder create a Python virtual environment and activate it (note, these are two distinct commands):
python3 -m venv venv source venv/bin/activate
Next up install Django with:
pip install django
When the installer is done you can create a new Django project:
django-admin startproject django_quick_start .
Pay attention again:
django_quick_start now is the actual Django project created inside the
django-quick-start folder. The name of this home folder doesn't matter, but Django projects cannot have dashes in the name. That's the reason for these underscores in
Pay also attention to the dot in
django-admin startproject django_quick_start .. With the dot we can avoid additional folder nesting.
Every Django project is made of stand alone applications. Each application may have models, views, and custom logic. There is also a great choice of community applications ready to be installed in your project.
Most of the times when you're first starting out all you need is a simple custom app. To create a Django app you can run:
django-admin startapp my_first_app
my_first_app is the name of your app. With the app in place you can start creating things in Django: models, views, and urls, but not before enabling the app in your project's setting. Open up
django_quick_start/settings.py and enable the app in the INSTALLED_APPS list:
INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", # enable your app "my_first_app.apps.MyFirstAppConfig", ]
Next up you can create models in
my_first_app/models.py. Here's a simple model:
from django.db import models class Customer(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100)
Don't forget to create and apply Django's migrations once the model is in place (note, these are two distinct commands):
python manage.py makemigrations python manage.py migrate
And now you're ready to run Django!
python manage.py runserver
In this quick-start tutorial you learned how to create a Django project and a Django application. Now you're ready to build amazing things! Make sure to follow all my Django guides, just scroll below for a list of tutorials and start building!
When you're ready for more serious things grab a cup of tea and learn how to create a Django project from a template.