Python Django Framework - Complete Detailed Guide

1. Django Framework Ka Parichay

Django Python ka ek powerful web framework hai jo rapid development aur clean, maintainable code likhne ke liye design kiya gaya hai. Ye backend development me commonly use hota hai aur Model-View-Template (MVT) architecture follow karta hai.

Is framework ki khasiyat hai ki ye built-in functionalities ke zariye developers ko common web development ki problems se bachata hai jaise user authentication, database handling, URL routing, aur admin interface.

2. Installation Aur Setup

Django install karne ke liye command prompt ya terminal me likhein:

pip install django

Installation ke baad Django version check karne ke liye:

django-admin --version

3. Django Project Banana

Naya project start karne ke liye:

django-admin startproject myproject

Ye command ek folder banata hai jisme kuch zaruri configuration files aur folders hote hain:

4. Server Chalana

Development server chalane ke liye project directory me aakar likhein:

python manage.py runserver

Isse server start hoga aur aap http://127.0.0.1:8000/ par apni website dekh sakenge.

5. Django App Banana

Django me ek project me multiple apps ho sakte hain. App specific features handle karta hai.

python manage.py startapp myapp

App ke folder me important files:

6. Models - Database Se Interaction

Django ORM ke madhyam se aap Python code likh kar database tables create aur manage kar sakte hain.

 from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
email = models.EmailField()

text
def __str__(self):
    return self.name

7. Database Migration

Model banane ke baad migration commands chalakar database structure banayen:

 python manage.py makemigrations python manage.py migrate 

8. Views aur URL Routing

Views user requests ke liye response define karte hain. URLs me routing karke views se jodte hain.

 # views.py from django.http import HttpResponse
def home(request):
return HttpResponse("Welcome to Django")

urls.py (project level)
from django.contrib import admin
from django.urls import path
from myapp import views

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

9. Templates aur Rendering Dynamic Content

HTML pages Jinja-like Django templates me likhe jate hain jinme dynamic data dikhaya jata hai.

 # views.py from django.shortcuts import render
def home(request):
context = {'name': 'Student'}
return render(request, 'home.html', context)

templates/home.html

Welcome, {{ name }}!

10. Admin Interface

Django automatic admin panel provide karta hai jisse koi bhi registered model ko easily manage kar sakte hain.

 # admin.py from django.contrib import admin from .models import Person
admin.site.register(Person)

Admin ko access karne ke liye:

python manage.py createsuperuser

11. Static Files (CSS, JS, Images)

Static files ke liye static/ folder use hota hai. Templates me url_for se path dete hain:

 <link rel="stylesheet" href="{% static 'style.css' %}"> 

12. Forms aur User Input Handling

Django forms validation automatic aur easy kar dete hain:

 from django import forms
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
message = forms.CharField(widget=forms.Textarea)

13. Middleware aur Security Features

Django middleware requests aur responses ke beech processing karta hai, jaise authentication, sessions, security headers, etc.

14. Django REST Framework (Optional)

Django REST Framework APIs (RESTful services) banane ke liye use hota hai. Ye advanced topic hai jo Django ko extend karta hai.

15. Deployment

Django app ko deployment ke liye Gunicorn, Nginx jese tools aur Heroku, AWS, DigitalOcean platforms par host kar sakte hain.

16. Summary

Django Python ka ek full-stack web framework hai jo rapid development aur scalable applications ke liye design hua hai. Iska clear MVT architecture aur robust ecosystem development ko fast aur easy banata hai. Model-View-Template approach clear data separation aur clean code structure provide karta hai. Django beginners ke liye easy start aur professionals ke liye powerful tools offer karta hai.