پروژه عملی وب‌اپ با Django و Python

پروژه Django Python یکی از بهترین روش‌ها برای یادگیری واقعی توسعه وب است. وقتی با Django و Python کار می‌کنید، نه‌تنها با مفاهیم بک‌اند آشنا می‌شوید، بلکه نحوه ساخت یک وب‌اپ کامل را تجربه خواهید کرد. در این مقاله، گام‌به‌گام با هم پروژه‌ای واقعی را طراحی می‌کنیم تا درک عمیقی از این فریمورک محبوب و زبان پایتون پیدا کنید.

چرا Django برای ساخت وب‌اپ انتخاب مناسبی است؟

Django یکی از فریمورک‌های قدرتمند پایتون است که به توسعه‌دهندگان اجازه می‌دهد در کمترین زمان، وب‌اپ‌های مقیاس‌پذیر و ایمن بسازند.

مزایای استفاده از Django:

  • امنیت بالا به صورت پیش‌فرض

  • معماری MVC (Model-View-Controller) یا MVT در Django

  • پشتیبانی از ORM برای ارتباط با پایگاه داده

  • سیستم ادمین آماده

  • توسعه سریع و کم‌هزینه

پیش‌نیازهای شروع پروژه Django Python

قبل از شروع، لازم است ابزارها و مهارت‌های پایه‌ای زیر را داشته باشید:

مهارت‌های لازم:

  • آشنایی با زبان برنامه‌نویسی Python

  • دانش پایه در HTML، CSS و JavaScript

  • مفاهیم پایگاه داده (SQL)

ابزارهای مورد نیاز:

  1. نصب Python (نسخه ۳ یا بالاتر)

  2. نصب Django با دستور زیر:

    pip install django
  3. نصب IDE یا ویرایشگر متن مانند VS Code یا PyCharm

شروع پروژه عملی Django Python

در این بخش، قدم‌به‌قدم به ساخت یک وب‌اپ ساده (سیستم یادداشت‌گذاری) می‌پردازیم.

مرحله ۱: ایجاد پروژه جدید

با اجرای دستور زیر، یک پروژه جدید Django بسازید:

django-admin startproject noteapp

سپس وارد پوشه پروژه شوید:

cd noteapp

مرحله ۲: اجرای سرور محلی

برای اطمینان از درست بودن نصب Django، دستور زیر را اجرا کنید:

python manage.py runserver

اگر صفحه‌ی پیش‌فرض Django را دیدید، یعنی پروژه با موفقیت راه‌اندازی شده است.

مرحله ۳: ساخت اپلیکیشن داخلی

برای افزودن قابلیت‌های جدید، یک اپلیکیشن بسازید:

python manage.py startapp notes

حالا اپلیکیشن notes را در فایل settings.py به بخش INSTALLED_APPS اضافه کنید.

مرحله ۴: تعریف مدل‌ها (Models)

در فایل models.py داخل اپ notes، مدل زیر را بنویسید:

from django.db import models

class Note(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.title

سپس پایگاه داده را مایگریت کنید:

python manage.py makemigrations
python manage.py migrate

مرحله ۵: افزودن مدل به پنل مدیریت

برای مدیریت یادداشت‌ها از پنل ادمین Django، مدل را در admin.py ثبت کنید:

from django.contrib import admin
from .models import Note

admin.site.register(Note)

اکنون می‌توانید از طریق /admin یادداشت‌های جدید اضافه کنید.

ساخت View و Template برای نمایش داده‌ها

برای نمایش یادداشت‌ها در مرورگر، باید view و template ایجاد کنیم.

View ساده:

در فایل views.py بنویسید:

from django.shortcuts import render
from .models import Note

def note_list(request):
notes = Note.objects.all()
return render(request, 'notes/note_list.html', {'notes': notes})

تنظیم URL:

در فایل urls.py داخل پوشه اپ notes:

from django.urls import path
from . import views

urlpatterns = [
path('', views.note_list, name='note_list'),
]

و در urls.py اصلی پروژه مسیر زیر را اضافه کنید:

path('notes/', include('notes.urls')),

Template ساده:

در مسیر templates/notes/note_list.html کد زیر را قرار دهید:

<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<title>لیست یادداشت‌ها</title>
</head>
<body>
<h1>یادداشت‌ها</h1>
<ul>
{% for note in notes %}
<li><strong>{{ note.title }}</strong>: {{ note.content }}</li>
{% endfor %}
</ul>
</body>
</html>

با رفتن به آدرس /notes/ حالا وب‌اپ شما قابل مشاهده است 🎉

نکات مهم برای بهینه‌سازی پروژه Django Python

اگر قصد دارید پروژه را برای کار واقعی آماده کنید، به نکات زیر توجه کنید:

امنیت:

  • استفاده از محیط مجازی (venv)

  • فعال کردن SSL در سرور

  • تنظیم DEBUG = False در محیط تولید

کارایی:

  • استفاده از Cache Framework

  • بهینه‌سازی Queryها

  • استفاده از Celery برای وظایف پس‌زمینه

سئو و ساختار:

  • تعریف مسیرهای خوانا برای کاربران

  • اضافه کردن متاتگ‌ها در قالب‌ها

  • استفاده از Django Sitemap

افزودن قابلیت ایجاد یادداشت (Create)

با اضافه کردن فرم‌ها، کاربران می‌توانند یادداشت‌های خود را ایجاد کنند.

فرم ساده در Django:

در فایل forms.py بنویسید:

from django import forms
from .models import Note

class NoteForm(forms.ModelForm):
class Meta:
model = Note
fields = ['title', 'content']

سپس در view از آن استفاده کنید:

def add_note(request):
if request.method == 'POST':
form = NoteForm(request.POST)
if form.is_valid():
form.save()
else:
form = NoteForm()
return render(request, 'notes/add_note.html', {'form': form})

پروژه Django Python فرصتی عالی برای یادگیری عملی توسعه وب است. با اجرای این پروژه، شما نه‌تنها با ساختار Django آشنا می‌شوید، بلکه مهارت‌های بک‌اند خود را نیز تقویت می‌کنید. اگر به دنبال مسیر حرفه‌ای در برنامه‌نویسی وب هستید، همین حالا دست‌به‌کار شوید و پروژه خود را با Django و Python شروع کنید.

🔥 پیشنهاد ما: همین امروز محیط Django را نصب کنید و اولین پروژه‌تان را بسازید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *