آموزش جامع نصب Django روی اوبونتو
مقدمه
اگر به دنبال ساخت یک وبسایت یا اپلیکیشن وب با پایتون هستید، احتمال زیادی وجود دارد که با Django روبهرو شوید. جنگو یک فریمورک متنباز، سطح بالا، و بسیار محبوب برای توسعه وب است که هدف آن سادهسازی روند ساخت وبسایتهای پیچیده است.
در این مقاله، به صورت گامبهگام و دقیق نحوه نصب Django روی سیستمعامل اوبونتو را آموزش میدهیم. علاوهبر مراحل نصب، به بررسی پیشنیازها، مزایا، نحوه کار با محیط مجازی، و نکات تکمیلی نیز خواهیم پرداخت.
Django چیست؟
جنگو (Django) یک فریمورک توسعه وب برای زبان پایتون است که در سال ۲۰۰۵ معرفی شد. از مهمترین ویژگیهای آن میتوان به موارد زیر اشاره کرد:
ساخت سریع اپلیکیشنها
استفاده از معماری MVC (در Django به آن MTV میگویند)
دارای پنل مدیریت قدرتمند
ORM داخلی برای پایگاهدادهها
امنیت بالا (مقابله با XSS، CSRF، SQL Injection و …)
چرا اوبونتو برای توسعه جنگو مناسب است؟
پایدار و محبوب برای محیط توسعه
پشتیبانی خوب از Python و ابزارهای مرتبط
جامعه کاربری فعال و مستندات زیاد
امکان استفاده در سرورهای لینوکسی مانند VPS یا سرورهای ابری
پیشنیازهای نصب جنگو
قبل از شروع، مطمئن شوید که موارد زیر در سیستم شما موجود است:
Ubuntu 20.04 یا جدیدتر
دسترسی sudo
اینترنت فعال
آشنایی ابتدایی با ترمینال
مرحله 1: بهروزرسانی سیستم
برای اطمینان از داشتن آخرین نسخههای نرمافزار:
sudo apt update && sudo apt upgrade -y
مرحله 2: نصب Python و pip
بررسی نسخه Python
python3 --version
اگر خطا گرفتید و ورژن پایتون نمایش داده نشد و دستور زیر برای نصب استفاده کنید
sudo apt install python3 -y
نصب pip:
sudo apt install python3-pip -y
مرحله 3: ایجاد محیط مجازی (Virtual Environment)
محیط مجازی به شما این امکان را میدهد که کتابخانهها را به صورت جداگانه برای هر پروژه نصب و مدیریت کنید.
نصب venv (اگر نصب نیست)
sudo apt install python3-venv -y
ساخت و فعالسازی محیط مجازی
mkdir myproject cd myproject python3 -m venv venv source venv/bin/activate
برای غیرفعالسازی:
deactivate
مرحله 4: نصب جنگو
در محیط مجازی:
pip install django
مرحله 5: ایجاد پروژه جنگو
django-admin startproject mysite cd mysite
اجرای سرور:
python manage.py runserver
بازدید از سایت:
یا اگر در سرور نصب کرده اید به جای 127.0.0.1، ایپی سرور خود را وارد کنید.
مرحله 6: ساخت اپلیکیشن داخلی
برای مدیریت بخشهای مختلف، پروژه جنگو به اپلیکیشنهایی تقسیم میشود.
مثال:
python manage.py startapp blog
سپس اپلیکیشن را در mysite/settings.py به بخش INSTALLED_APPS اضافه کنید:
INSTALLED_APPS = [ ... 'blog', ]
روش جایگزین: نصب جنگو از سورس (با Git)
در صورتی که بخواهید آخرین نسخه توسعهای جنگو را نصب کنید:
git clone https://github.com/django/django.git cd django pip install -e .
مرحله 7: نکات امنیتی اولیه
- استفاده از SECRET_KEY ایمن در فایل settings.py
- تنظیم ALLOWED_HOSTS برای جلوگیری از دسترسی ناخواسته
غیرفعالسازی حالت Debug در محیط production
استفاده از HTTPS در سرور واقعی
مرحله 8: استفاده از پایگاه داده
جنگو بهصورت پیشفرض از SQLite استفاده میکند. اما میتوانید آن را به PostgreSQL یا MySQL تغییر دهید.
مثال نصب PostgreSQL:
sudo apt install postgresql libpq-dev -y pip install psycopg2
سپس تنظیمات DATABASES را در فایل settings.py تغییر دهید.
مرحله 9: ایجاد جدولهای دیتابیس
بعد از ایجاد اپلیکیشنها و مدلها:
python manage.py makemigrations python manage.py migrate
مرحله 10: ساخت ادمین برای پنل مدیریت
python manage.py createsuperuser
سپس به آدرس http://127.0.0.1:8000/admin بروید و وارد شوید.
یا اگر در سرور نصب کرده اید به جای 127.0.0.1، ایپی سرور خود را وارد کنید.
مرحله 11: نصب بستههای متداول برای توسعه جنگو
pip install django-debug-toolbar pip install djangorestframework pip install python-decouple
مرحله 12: ذخیره وابستگیها در فایل requirements.txt
برای اشتراکگذاری پروژه یا نصب مجدد در آینده:
pip freeze > requirements.txt
و برای نصب:
pip install -r requirements.txt
جمع بندی
در این مقاله، نحوه نصب جنگو روی اوبونتو را بهصورت گامبهگام آموختید. از نصب Python و pip، تا ساخت پروژه و اپلیکیشن، و نکات امنیتی پایه برای اجرای پروژه در محیط واقعی.
جنگو یکی از قدرتمندترین ابزارهای توسعه وب است که با یادگیری اصول اولیه آن، میتوانید پروژههای بزرگ و مقیاسپذیر طراحی کنید.
سوالات متداول
آیا میتوان Django را بدون محیط مجازی نصب کرد؟
بله، اما توصیه نمیشود. نصب Django بهصورت سراسری (Global) ممکن است باعث تداخل بین پروژههای مختلف شود. استفاده از محیط مجازی (venv) باعث ایزولهسازی پروژه و مدیریت بهتر وابستگیها میشود.
آیا میتوان از Django در کنار React یا Vue استفاده کرد؟
بله. Django میتواند به عنوان Backend (API) عمل کند و با فریمورکهای جاوااسکریپتی مانند React یا Vue در بخش فرانتاند ترکیب شود. برای این کار معمولاً از Django REST Framework استفاده میشود.
آیا لازم است Git را هم یاد بگیرم؟
برای پروژههای واقعی، استفاده از Git (برای کنترل نسخه) بسیار مفید است. مخصوصاً اگر با دیگران همکاری میکنید یا قصد دارید پروژهتان را روی GitHub منتشر کنید.