آموزش رایگان صفر تا صد جنگو (Django) به زبان ساده
Django یک فریمورک برای زبان Python است که کار ساخت وبسایتها را سادهتر میکند.
💡 فریمورک (Framework) یعنی مجموعهای از ابزارها و کدهای آماده که کار توسعهی نرمافزار را سریعتر و راحتتر میکند.
Django وظایف سخت و تکراری را انجام میدهد تا شما فقط روی ساخت اپلیکیشن وب تمرکز کنید. به همین دلیل، این فریمورک از یک اصل مهم به نام DRY (Don’t Repeat Yourself) استفاده میکند، یعنی: “یکبار کدنویسی کن، همهجا استفاده کن!” 🎯
🔹 برخی از ویژگیهای آمادهی Django:
✅ سیستم ورود کاربران (Login)
✅ اتصال به پایگاه داده (Database)
✅ عملیات CRUD (ایجاد، خواندن، ویرایش و حذف دادهها)
Django بهخصوص برای وبسایتهایی که با پایگاه داده کار میکنند بسیار کاربردی است. 📊
Django چطور کار میکند؟ ⚙️
Django از یک معماری به نام MVT (Model – View – Template) استفاده میکند. بیایید ببینیم این بخشها چه هستند:
📌 Model (مدل) → دادههایی که قرار است نمایش داده شوند (مثلاً اطلاعات کاربران)
📌 View (نما) → پردازش درخواست کاربر و ارسال داده به قالب مناسب
📌 Template (قالب) → نمایش اطلاعات در صفحه (مثلاً با HTML و CSS)
یک مثال ساده برای درک بهتر:
فرض کنید یک سایت فروشگاهی دارید. وقتی کاربر درخواست مشاهدهی لیست محصولات را میدهد:
1️⃣ Model اطلاعات محصولات را از پایگاه داده دریافت میکند.
2️⃣ View تصمیم میگیرد که این دادهها را چگونه پردازش کرده و به صفحه ارسال کند.
3️⃣ Template اطلاعات را در قالب زیبای HTML نمایش میدهد.
Model (مدل) چیست؟ 🗄️
مدل جایی است که دادههای سایت ذخیره و مدیریت میشوند.
Django برای کار با پایگاه داده از ORM (Object Relational Mapping) استفاده میکند که باعث میشود دیگر نیازی به نوشتن دستورات پیچیده SQL نداشته باشید!
📂 فایل مربوط به مدلها در Django معمولاً models.py نام دارد.
✅ مثال:
در اینجا یک مدل برای ذخیرهی اطلاعات کاربران داریم:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
age = models.IntegerField()
🔹 این کد باعث میشود که Django جدولی در پایگاه داده بسازد که نام، ایمیل و سن کاربران را ذخیره کند.
View (نما) چیست؟ 👀
View یک تابع است که درخواستهای کاربر را پردازش میکند و دادههای مناسب را به Template ارسال میکند.
📂 فایل مربوط به نماها در Django معمولاً views.py نام دارد.
✅ مثال:
در اینجا یک View داریم که لیست کاربران را دریافت و نمایش میدهد:
from django.shortcuts import render
from .models import User
def user_list(request):
users = User.objects.all()
return render(request, 'users.html', {'users': users})
<h1>لیست کاربران</h1>
<ul>
{% for user in users %}
<li>{{ user.name }} – {{ user.email }}</li>
{% endfor %}
</ul>
<html>
<head>
<title>عنوان صفحه</title>
</head>
<body>
<h1>این یک عنوان است</h1>
<p>این یک پاراگراف است.</p>
<p>این هم پاراگراف دیگری است.</p> <script data-optimized="1" src="https://fahmidani.com/wp-content/litespeed/js/f3c5549225b2854d6475d8d5eeb507f4.js?ver=29020"></script></body>
</html>
🔹 در اینجا، Django از تگهای مخصوص خودش استفاده کرده تا دادهها را در HTML نمایش دهد.
آدرسدهی در Django 🌐
Django یک سیستم قدرتمند برای مدیریت URLs (آدرسهای صفحات وب) دارد.
📂 فایل مربوط به آدرسها معمولاً urls.py نام دارد.
✅ مثال:
میخواهیم وقتی کاربر به /users
برود، لیست کاربران نمایش داده شود:
from django.urls import path
from .views import user_list
urlpatterns = [
path('users/', user_list, name='user_list'),
]
🔹 حالا اگر کاربر آدرس /users
را در مرورگر وارد کند، View مربوطه اجرا شده و لیست کاربران نمایش داده میشود. 🚀
فرآیند کلی اجرای یک درخواست در Django 🔄
۱️⃣ کاربر یک آدرس URL را در مرورگر وارد میکند.
۲️⃣ Django این آدرس را در urls.py بررسی میکند و View مربوطه را اجرا میکند.
۳️⃣ View دادههای لازم را از Model میگیرد.
۴️⃣ View این دادهها را به یک Template ارسال میکند.
۵️⃣ Template اطلاعات را در قالب HTML نمایش میدهد و آن را به مرورگر ارسال میکند.
🎯 نتیجه: کاربر صفحهی موردنظر را در سایت میبیند! ✅
تاریخچه Django 📜
🔹 Django در سال ۲۰۰۳ توسط تیم برنامهنویسی Lawrence Journal-World ساخته شد.
🔹 اولین نسخهی عمومی آن در ژوئیه ۲۰۰۵ منتشر شد.
🔹 آخرین نسخهی رسمی ۴.۰.۳ در مارس ۲۰۲۲ ارائه شده است.
چالش برای شما! 🚀
✅ ۱. یک مدل جدید در Django بسازید که اطلاعات محصولات یک فروشگاه (نام، قیمت و توضیحات) را ذخیره کند.
✅ ۲. یک View بنویسید که لیست محصولات را نمایش دهد.
✅ ۳. یک Template بسازید که لیست محصولات را بهصورت زیبا در یک صفحه HTML نمایش دهد.
🔥 آیا آمادهاید که با Django یک وبسایت واقعی بسازید؟ 😉