Django Cheatsheet


What is Django?

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source. It is used for rapid development of web based application.

Advantages :

1. Django was designed to help developers take applications from concept to completion as quickly as possible.
2. Django takes security seriously and helps developers avoid many common security mistakes.
3. Some of the busiest sites on the web leverage Django’s ability to quickly and flexibly scale.

Installing Django + Setup

pip install django

Creating a project

The below command creates a new project

django-admin startproject projectName

Starting a server

The below command starts the development server.

python manage.py runserver

Django MVT

Django follows MVT(Model, View, Template) architecture.

Sample Django Model

The model represents the schema of the database.

from django.db import models 
    
class Product(models.Model): //Product is the name of our model 
product_id=models.AutoField

Sample views.py

View decides what data gets delivered to the template.

from django.http import HttpResponse
    
def index(request):
return HttpResponse(''Django Cheatsheet'')
    

Sample HTML Template

A sample .html file that contains HTML, CSS and Javascript.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Django Cheatsheet</title>
</head>
<body>
<h1>This is a sample template file.</h1>
</body>
</html>
    

Views in Django

Sample Function-Based Views

A python function that takes a web request and returns a web response.

from django.http import HttpResponse
    
def index(request):
return HttpResponse(''This is a function based view.')
    

Sample Class-Based Views

Django's class-based views provide an object-oriented (OO) way of organizing your view code.

from django.views import View
    
class SimpleClassBasedView(View):
def get(self, request):
# code to process a GET request

URLs in Django

set of URL patterns to be matched against the requested URL.

Sample urls.py file

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'),

]

Forms in Django

Similar to HTML forms but are created by Django using the form field.

Sample Django form

from django import forms
    
#  creating a form
class SampleForm(forms.Form):
Name = forms.CharField()
description = forms.CharField()
    

 

Apps in Django

Apps in Django are like independent modules for different functionalities.

Creating an app

python manage.py startapp AppName

Listing app in the settings.py

After creating an app, we need to list the app name in INSTALLED_APPS

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'AppName' 
]

Templates in Django

Used to handle dynamic HTML files separately.

Configuring templates in settings.py

TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': ["templates"],
    'APP_DIRS': True,
    'OPTIONS': {
    # ... some options here ...
    },
    },
    ]

Changing the views.py file

A view is associated with every template file. This view is responsible for displaying the content from the template.

def index(request):
    return render(request, 'index.html') ; #render is used to return the template

Sample template file

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Template is working</title>
</head>
<body>
<h1>This is a sample django template.</h1>
</body>
</html>
    

Migrations in Django

Migrations are Django's way of updating the database schema according to the changes that you make to your models.

Creating a migration

The below command is used to make migration but no changes are made to the actual database.

python manage.py makemigrations
    

Applying the migration

The below command is used to apply the changes to the actual database.

python manage.py migrate

Admin interface in Django

Django comes with a ready-to-use admin interface.

Creating the admin user

python manage.py createsuperuser

Page Redirection

Redirection is used to redirect the user to a specific page of the application on the occurrence of an event.

Redirect method

from django.shortcuts import render, redirect
    
def redirecting(request):
return redirect("https://www.cooldeveloperbangla.com")
    

Comments

Popular posts from this blog

How to make a Snake game using HTML , CSS and JavaScript

Install VS Code in Android

How To Save Money As Student