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:
manage.py
- Command line utility scriptmyproject/
directory jo project settings aur URLs rakhta hai
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:
models.py
- Data model define karne ke liyeviews.py
- URLs ke requests handle karne ke liyetemplates/
folder - HTML templates ke liye (agar bana hua ho)
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.htmlWelcome, {{ 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.