KEMBAR78
Django Cheatsheet | PDF | Web Development | Software Engineering
0% found this document useful (0 votes)
3 views8 pages

Django Cheatsheet

Django is a high-level Python web framework that promotes rapid development and clean design, utilizing MVT architecture. The document provides a comprehensive cheatsheet covering installation, project setup, models, views, URLs, forms, templates, migrations, and best practices. It includes code snippets for various Django functionalities and commands to streamline development.

Uploaded by

lakshmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views8 pages

Django Cheatsheet

Django is a high-level Python web framework that promotes rapid development and clean design, utilizing MVT architecture. The document provides a comprehensive cheatsheet covering installation, project setup, models, views, URLs, forms, templates, migrations, and best practices. It includes code snippets for various Django functionalities and commands to streamline development.

Uploaded by

lakshmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Django Cheatsheet

What is Django?

Django is a high-level, Python-based web framework that encourages rapid


development, clean design, and pragmatic code. It follows MVT (Model-View-
Template) architecture and comes with batteries included (ORM, authentication,
admin, etc.).

Installation & Project Setup

Install Django:

pip install django

Check version:

django-admin --version

Creating a Project

django-admin startproject projectName


cd projectName

Starting the Development Server

python manage.py runserver


Server runs by default on http://127.0.0.1:8000/

You can specify a custom port:

python manage.py runserver 8080

Django MVT (Model-View-Template)

Sample Model
Models represent database tables. Always remember to add () to fields!

from django.db import models

class Product(models.Model):
product_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100)
price = models.FloatField()
created_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.name

Sample View (views.py)

from django.http import HttpResponse

def index(request):
return HttpResponse("Django CodeWithHarry Cheatsheet")

For templates:
from django.shortcuts import render

def index(request):
return render(request, "index.html", {"title": "Welcome"})

Sample HTML Template

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body>
<h1>This is a sample template file.</h1>
</body>
</html>

Views in Django

Views can be Function-Based or Class-Based.

Function-Based View

from django.http import HttpResponse

def index(request):
return HttpResponse("This is a function-based view")
Class-Based View

from django.views import View


from django.http import HttpResponse

class SimpleClassBasedView(View):
def get(self, request):
return HttpResponse("Hello from a class-based view")

URLs in Django

urls.py maps paths to views.

Example urls.py

from django.contrib import admin


from django.urls import path
from . import views

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name='index'),
path('about/', views.about, name='about'),
]

For modular apps, use include() :

from django.urls import include, path

urlpatterns = [
path('community/', include('aggregator.urls')),
path('contact/', include('contact.urls')),
]
Forms in Django

Example Form

from django import forms

class SampleForm(forms.Form):
name = forms.CharField(max_length=50)
description = forms.CharField(widget=forms.Textarea)

Apps in Django

Create a new app:

python manage.py startapp AppName

Register it in settings.py :

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
...
'AppName',
]

Templates in Django

Configure TEMPLATES in settings.py :

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / "templates"],

'APP_DIRS': True,
'OPTIONS': {},
},
]

Rendering template in view:

from django.shortcuts import render

def index(request):
return render(request, 'index.html', {"name": "Harry"})

Access variable in template:

<h1>Hello, {{ name }}</h1>

Migrations

Create migration files

python manage.py makemigrations

Apply migrations

python manage.py migrate

View SQL queries

python manage.py sqlmigrate appName 0001


Django Admin

Create admin user:

python manage.py createsuperuser

Register model in admin.py :

from django.contrib import admin


from .models import Product

admin.site.register(Product)

Page Redirection

from django.shortcuts import redirect

def redirecting(request):
return redirect("https://www.codewithharry.com")

Additional Useful Commands

• Create Django Shell (interact with models):

python manage.py shell

• Collect static files for production

python manage.py collectstatic


• Check for issues

python manage.py check

Best Practices

• Use virtual environments for each project.

• Always commit your requirements.txt file:

pip freeze > requirements.txt

• Separate settings.py for dev & production (e.g., use django-environ for
secrets).

• Use .env files to store sensitive information.

• Prefer class-based views for reusable code and scalability.

You might also like