This document explains how to set up a Django project from scratch, including virtual environment, project creation, app configuration, static/media handling, and admin setup.
Create a virtual environment:
python -m venv .venvActivate the virtual environment (Windows):
.venv\Scripts\activateInstall Django:
pip install djangoFreeze dependencies (optional but recommended):
pip freeze > requirements.txt
# OR
pip install -r requirements.txtCreate a new Django project:
django-admin startproject Project_NameMove into the project directory:
cd Project_NameRun the development server:
python manage.py runserverOpen in browser:
http://127.0.0.1:8000/
Create an admin user:
python manage.py createsuperuserProvide the following details:
- Username
- Email address
- Password
Access Django Admin Panel:
http://127.0.0.1:8000/admin/
import os
STATIC_URL = 'static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')from django.contrib import admin
from django.urls import path,include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
# path('your_app_name/',include('App_Name_urls') ),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)Create an app inside the project:
python manage.py startapp App_NameInside the app folder, ensure these files exist:
views.pyurls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]from django.shortcuts import render
# Create your views here
def index(request):
return render(request, 'index.html')INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'App_Name', <--
]Create a templates folder at project root level.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]https://docs.chaicode.com/youtube/chai-aur-django/welcome/
link: https://docs.chaicode.com/youtube/chai-aur-django/welcome/