مقدمه
Django یکی از محبوبترین فریمورکهای توسعه وب در زبان Python است که برای ساخت وبسایتها و برنامههای تحت وب قدرتمند، امن و مقیاسپذیر استفاده میشود.
این فریمورک بسیاری از قابلیتهای موردنیاز توسعهدهندگان مانند:
- مدیریت کاربران
- احراز هویت
- پنل مدیریت (Admin Panel)
- ORM قدرتمند
- سیستم URL Routing
- امنیت در برابر حملات رایج
- Migration پایگاه داده
را بهصورت پیشفرض در اختیار شما قرار میدهد و باعث میشود بتوانید با سرعت بسیار بیشتری پروژههای خود را توسعه دهید.
در این آموزش، نحوه نصب Django روی Ubuntu 24.04 LTS را بررسی میکنیم. همچنین روشهای مختلف نصب Django را معرفی خواهیم کرد و در پایان یک پروژه آزمایشی ایجاد کرده و اجرای آن را تست میکنیم.
روشهای نصب Django
چند روش مختلف برای نصب Django وجود دارد که هر کدام کاربرد خاص خود را دارند.
نصب از مخازن Ubuntu
در این روش، Django مستقیماً از مخازن رسمی Ubuntu نصب میشود.
مزایا:
- نصب بسیار ساده
- بدون نیاز به ابزار اضافه
معایب:
- معمولاً نسخه موجود قدیمیتر از آخرین نسخه رسمی Django است.
- برای پروژههای حرفهای پیشنهاد نمیشود.
نصب با pip داخل Virtual Environment (پیشنهادی)
این روش، بهترین و استانداردترین روش نصب Django است.
در این حالت:
- هر پروژه محیط اختصاصی خودش را دارد.
- وابستگی پروژهها با یکدیگر تداخل پیدا نمیکنند.
- میتوانید برای هر پروژه نسخه متفاوتی از Django یا سایر کتابخانهها نصب کنید.
تقریباً تمام پروژههای واقعی از این روش استفاده میکنند.
نصب نسخه توسعه (Development)
اگر بخواهید آخرین قابلیتهای Django را قبل از انتشار رسمی امتحان کنید، میتوانید نسخه توسعه را مستقیماً از GitHub نصب کنید.
البته این نسخه برای محیط Production توصیه نمیشود، زیرا ممکن است هنوز کاملاً پایدار نباشد.
پیشنیازها
قبل از شروع آموزش، بهتر است موارد زیر را آماده داشته باشید:
- یک سرور Ubuntu 24.04 LTS
- یک کاربر دارای دسترسی sudo
- اتصال اینترنت
- بهروزرسانی بستههای سیستم
ابتدا سیستم را بهروزرسانی کنید:
sudo apt update
sudo apt upgrade -y
روش اول: نصب Django از مخازن Ubuntu
اگر قصد دارید فقط Django را برای تست یا یادگیری نصب کنید، استفاده از مخازن رسمی Ubuntu سادهترین روش است. البته توجه داشته باشید که نسخه موجود در مخازن معمولاً نسبت به آخرین نسخه رسمی Django قدیمیتر است و برای پروژههای Production پیشنهاد نمیشود.
مرحله اول: بهروزرسانی مخازن
ابتدا لیست بستههای سیستم را بهروزرسانی کنید:
sudo apt update
مرحله دوم: بررسی نسخه Python
در Ubuntu 24.04 بهصورت پیشفرض Python 3.12 نصب است. برای اطمینان، دستور زیر را اجرا کنید:
python3 --version
نمونه خروجی:
Python 3.12.x
مرحله سوم: نصب Django
اکنون Django را نصب کنید:
sudo apt install python3-django -y
مرحله چهارم: بررسی نصب
پس از پایان نصب، نسخه Django را بررسی کنید:
django-admin --version
نمونه خروجی:
5.x.x
نکته: نسخه نمایش داده شده ممکن است با توجه به زمان انتشار این مقاله و نسخه مخازن Ubuntu متفاوت باشد.
چرا این روش پیشنهاد نمیشود؟
اگرچه نصب از طریق مخازن Ubuntu بسیار ساده است، اما چند محدودیت مهم دارد:
- نسخه Django معمولاً از آخرین نسخه رسمی عقبتر است.
- امکان مدیریت وابستگیهای هر پروژه وجود ندارد.
- در صورت داشتن چند پروژه با نسخههای مختلف Django، احتمال ایجاد تداخل وجود دارد.
به همین دلیل تقریباً تمام توسعهدهندگان Python از Virtual Environment به همراه pip استفاده میکنند.
روش پیشنهادی: نصب Django با pip در Virtual Environment
اگر قصد توسعه یک پروژه واقعی با Django را دارید، این روش بهترین انتخاب است. استفاده از Virtual Environment باعث میشود هر پروژه وابستگیهای مخصوص به خودش را داشته باشد و نصب یا بهروزرسانی بستهها روی سایر پروژهها تأثیری نگذارد.
مرحله اول: بهروزرسانی سیستم
ابتدا مخازن سیستم را بهروزرسانی کنید:
sudo apt update
در ادامه نسخه Python را بررسی کنید:
python3 --version
نمونه خروجی:
Python 3.12.x
مرحله دوم: نصب pip و Virtual Environment
برای نصب ابزارهای موردنیاز دستور زیر را اجرا کنید:
sudo apt install python3-pip python3-venv -y
استفاده از میرور پارمین کلود برای pip
برای افزایش سرعت دانلود پکیجهای Python، پیشنهاد میشود از میرور Parmin Cloud استفاده کنید.
یک فایل تنظیمات برای pip ایجاد کنید:
mkdir -p ~/.config/pip
nano ~/.config/pip/pip.conf
محتوای فایل را به شکل زیر قرار دهید:
[global]
index-url = https://pypi.parmincloud.ir/simple/
trusted-host = pypi.parmincloud.ir
از این پس تمام بستههای Python از طریق میرور پارمین کلود دانلود خواهند شد و نیازی به وارد کردن -i در هر دستور نیست.
مرحله سوم: ایجاد پروژه
یک پوشه برای پروژه خود ایجاد کنید:
mkdir ~/newproject
cd ~/newproject
البته میتوانید بهجای newproject هر نام دلخواهی را انتخاب کنید.
مرحله چهارم: ساخت Virtual Environment
اکنون محیط مجازی پروژه را ایجاد کنید:
python3 -m venv my_env
در این آموزش نام محیط مجازی را my_env قرار دادهایم، اما میتوانید از نامهایی مانند venv یا هر نام دیگری نیز استفاده کنید.
پس از اجرای دستور، پوشهای با همین نام ایجاد میشود که شامل نسخه مستقل Python و تمام بستههای نصبشده مخصوص همین پروژه خواهد بود.
مرحله پنجم: فعالسازی Virtual Environment
برای ورود به محیط مجازی دستور زیر را اجرا کنید:
source my_env/bin/activate
در صورت فعال شدن محیط، ابتدای خط فرمان به شکل زیر تغییر خواهد کرد:
(my_env) user@server:~/newproject$
این موضوع نشان میدهد که تمام بستههایی که از این لحظه نصب میکنید فقط داخل همین پروژه قرار خواهند گرفت و روی سایر پروژهها یا سیستم عامل تأثیری نخواهند داشت.
مرحله ششم: نصب Django
اکنون که وارد محیط مجازی شدهاید، میتوانید آخرین نسخه پایدار Django را نصب کنید.
به دلیل اینکه قبلاً میرور Parmin Cloud را برای pip تنظیم کردهایم، بستهها مستقیماً از همان میرور دانلود خواهند شد.
دستور زیر را اجرا کنید:
pip install django
نمونه خروجی:
Collecting django
Downloading Django-5.x.x-py3-none-any.whl
Installing collected packages: django
Successfully installed django-5.x.x
مرحله هفتم: بررسی نسخه نصبشده
پس از پایان نصب، نسخه Django را بررسی کنید:
django-admin --version
نمونه خروجی:
5.x.x
نکته: با توجه به زمان مطالعه این آموزش، ممکن است نسخه نمایش داده شده جدیدتر از مثال بالا باشد.
مرحله هشتم: خروج از Virtual Environment
هر زمان که کارتان با پروژه تمام شد، میتوانید از محیط مجازی خارج شوید:
deactivate
پس از اجرای این دستور، محیط ترمینال به حالت عادی بازمیگردد.
ورود مجدد به محیط مجازی
هر زمان خواستید دوباره روی پروژه کار کنید، کافی است وارد پوشه پروژه شوید:
cd ~/newproject
سپس محیط مجازی را فعال کنید:
source my_env/bin/activate
نصب نسخه توسعه Django از GitHub (اختیاری)
اگر قصد دارید جدیدترین قابلیتها یا تغییراتی را که هنوز در نسخه پایدار منتشر نشدهاند آزمایش کنید، میتوانید نسخه توسعه Django را مستقیماً از مخزن GitHub نصب کنید.
توجه: این روش برای محیطهای عملیاتی (Production) پیشنهاد نمیشود، زیرا نسخه توسعه ممکن است دارای تغییرات آزمایشی یا ناپایدار باشد.
ابتدا ابزارهای موردنیاز را نصب کنید:
sudo apt update
sudo apt install git python3-pip python3-venv -y
سپس مخزن Django را دریافت کنید:
git clone https://github.com/django/django.git ~/django-dev
وارد پوشه پروژه شوید:
cd ~/django-dev
محیط مجازی ایجاد کنید:
python3 -m venv my_env
آن را فعال کنید:
source my_env/bin/activate
در نهایت نسخه توسعه را بهصورت Editable نصب کنید:
pip install -e ~/django-dev
برای اطمینان از نصب صحیح:
django-admin --version
اگر همه چیز بهدرستی انجام شده باشد، آخرین نسخه توسعه Django نمایش داده خواهد شد.
ایجاد اولین پروژه Django
اکنون که Django روی سیستم نصب شده است، زمان آن رسیده اولین پروژه خود را ایجاد کنیم.
مرحله اول: ایجاد پوشه پروژه
ابتدا یک پوشه جدید برای پروژه ایجاد کنید:
mkdir ~/django-test
cd ~/django-test
مرحله دوم: ساخت Virtual Environment
داخل پوشه پروژه، محیط مجازی ایجاد کنید:
python3 -m venv my_env
سپس آن را فعال کنید:
source my_env/bin/activate
مرحله سوم: نصب Django
در صورتی که قبلاً Django را داخل این محیط نصب نکردهاید، دستور زیر را اجرا کنید:
pip install django
مرحله چهارم: ایجاد پروژه
برای ساخت پروژه جدید از دستور زیر استفاده کنید:
django-admin startproject djangoproject .
نکته: وجود نقطه (
.) در انتهای دستور باعث میشود فایلهای پروژه مستقیماً داخل پوشه فعلی ایجاد شوند و یک پوشه اضافی تو در تو ساخته نشود.
پس از اجرا، ساختار پروژه تقریباً به شکل زیر خواهد بود:
django-test/
├── manage.py
├── djangoproject/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── my_env/
آشنایی با فایلهای پروژه
فایل manage.py
این فایل مهمترین ابزار مدیریت پروژه Django است.
تقریباً تمام دستورات مدیریتی مانند:
- اجرای سرور
- ساخت اپلیکیشن
- اجرای Migration
- ایجاد کاربر مدیر
- اجرای تستها
از طریق همین فایل انجام میشوند.
پوشه پروژه (djangoproject)
این پوشه شامل تنظیمات اصلی پروژه است.
مهمترین فایلهای آن عبارتاند از:
| فایل | توضیح |
|---|---|
| settings.py | تنظیمات اصلی پروژه |
| urls.py | مدیریت مسیرهای سایت |
| asgi.py | اجرای پروژه روی ASGI |
| wsgi.py | اجرای پروژه روی WSGI |
اجرای Migration اولیه
Django بهصورت پیشفرض از پایگاه داده SQLite استفاده میکند.
قبل از اجرای پروژه باید جداول اولیه دیتابیس ایجاد شوند.
دستور زیر را اجرا کنید:
python manage.py migrate
نمونه خروجی:
Operations to perform:
Apply all migrations
Running migrations:
Applying admin...
Applying auth...
Applying sessions...
OK
با اجرای این دستور، جداول موردنیاز پنل مدیریت، کاربران، نشستها (Session) و سایر بخشهای داخلی Django ایجاد خواهند شد.
ایجاد کاربر مدیر (Superuser)
برای ورود به پنل مدیریت Django باید یک کاربر Administrator ایجاد کنید.
دستور زیر را اجرا کنید:
python manage.py createsuperuser
سپس اطلاعات زیر از شما دریافت میشود:
Username:
Email address:
Password:
Password (again):
پس از وارد کردن اطلاعات، پیام زیر نمایش داده میشود:
Superuser created successfully.
اکنون حساب مدیریتی شما آماده استفاده است.
تنظیم ALLOWED_HOSTS
بهصورت پیشفرض، Django فقط درخواستهایی را از آدرس localhost یا 127.0.0.1 میپذیرد. اگر قصد دارید پروژه را از طریق IP سرور یا دامنه اجرا کنید، باید مقدار ALLOWED_HOSTS را تغییر دهید.
فایل تنظیمات پروژه را باز کنید:
nano djangoproject/settings.py
عبارت زیر را پیدا کنید:
ALLOWED_HOSTS = []
و آن را متناسب با شرایط خود تغییر دهید.
اگر از دامنه استفاده میکنید:
ALLOWED_HOSTS = [
"example.com",
"www.example.com"
]
اگر هنوز دامنه ندارید و قصد دارید پروژه را با IP سرور اجرا کنید:
ALLOWED_HOSTS = [
"SERVER_IP"
]
بهجای SERVER_IP آدرس IP سرور خود را قرار دهید.
اگر پروژه را صرفاً برای توسعه محلی اجرا میکنید:
ALLOWED_HOSTS = [
"127.0.0.1",
"localhost"
]
نکته: استفاده از
ALLOWED_HOSTS = ["*"]فقط برای محیطهای آزمایشی مناسب است و در محیط Production توصیه نمیشود.
اجرای Development Server
اکنون میتوانید سرور توسعه Django را اجرا کنید.
اگر میخواهید فقط روی سیستم محلی در دسترس باشد:
python manage.py runserver
اما اگر قصد دارید از طریق مرورگر و IP سرور به پروژه دسترسی داشته باشید، دستور زیر را اجرا کنید:
python manage.py runserver 0.0.0.0:8000
نمونه خروجی:
Watching for file changes with StatReloader
System check identified no issues.
Starting development server at:
http://0.0.0.0:8000/
Quit the server with CTRL+C.
باز کردن پورت فایروال
اگر UFW روی سرور فعال است، باید پورت 8000 را نیز باز کنید:
sudo ufw allow 8000/tcp
سپس وضعیت فایروال را بررسی کنید:
sudo ufw status
نمونه خروجی:
8000/tcp ALLOW Anywhere
مشاهده پروژه در مرورگر
اکنون مرورگر خود را باز کرده و آدرس زیر را وارد کنید:
http://SERVER_IP:8000
یا در صورت استفاده از دامنه:
http://example.com:8000
اگر همه مراحل را بهدرستی انجام داده باشید، صفحه پیشفرض Django نمایش داده میشود که پیام موفقیت نصب را نشان میدهد.
ورود به پنل مدیریت Django
برای ورود به پنل مدیریت، آدرس زیر را باز کنید:
http://SERVER_IP:8000/admin
یا:
http://example.com:8000/admin
در صفحه ورود، نام کاربری و رمز عبوری را که هنگام اجرای دستور createsuperuser ایجاد کردهاید وارد کنید.
پس از ورود، به پنل مدیریت Django دسترسی خواهید داشت و میتوانید کاربران، گروهها، مجوزها و سایر بخشهای پروژه را مدیریت کنید.
نکته مهم برای محیط Production
سرور داخلی Django (runserver) فقط برای توسعه و تست طراحی شده است و برای استفاده در محیط عملیاتی مناسب نیست.
برای راهاندازی یک پروژه Django در محیط Production معمولاً از ترکیب زیر استفاده میشود:
- Gunicorn یا uWSGI بهعنوان Application Server
- Nginx بهعنوان Reverse Proxy
- PostgreSQL یا MariaDB بهعنوان پایگاه داده
- SSL/TLS برای رمزنگاری ارتباطات
- Systemd برای مدیریت سرویس و اجرای خودکار برنامه
این معماری عملکرد، امنیت و پایداری بسیار بهتری نسبت به Development Server ارائه میدهد.
جمعبندی
در این آموزش یاد گرفتید چگونه Django را روی Ubuntu 24.04 LTS نصب و راهاندازی کنید. همچنین با روش استاندارد نصب از طریق Virtual Environment، ایجاد پروژه، اجرای Migration، ساخت کاربر مدیر و راهاندازی سرور توسعه آشنا شدید.
اگر قصد استقرار پروژه در محیط عملیاتی را دارید، پیشنهاد میشود در ادامه از Gunicorn و Nginx برای اجرای پروژه استفاده کنید تا از نظر امنیت و کارایی، سرویس شما آماده ارائه به کاربران باشد.
از همراهی شما با پارمین کلود سپاسگزاریم.
نظرات کاربران