وبسایت ساده و خوانا برای مدیریت آگهیهای املاک که با Django و Bootstrap ساخته شده است. در پنل ادمین از جزمین (Jazmin) برای بهبود رابط کاربری استفاده شده، و در پیادهسازی از Class-Based Views و Generic Views بهره بردهایم. برای استقرار از Docker و Docker Compose استفاده شده و فایلهای استاتیک توسط کانتینرها سرو میشوند.
- پیادهسازی با Django (ساختار ماژولار)
- رابط کاربری واکنشگرا با Bootstrap
- پنل ادمین زیبا و قابل استفاده با جزمین
- استفاده از Class-Based Views و Generic Views برای خوانایی و قابل نگهداری بودن کد
- استقرار و اجرای ساده با Docker / Docker Compose
- سرویسدهی مستقیم فایلهای استاتیک توسط کانتینرها
- Python / Django
- Bootstrap
- Jazmin (مدیریت بهتر رابط ادمین)
- Docker & Docker Compose
اطمینان حاصل کنید که روی سیستم شما docker
و docker-compose
(یا docker compose
) نصب و فعال شده باشند.
فرض میکنیم سرویس وب شما در یک سرویس با نام
web
درdocker-compose.yml
قرار دارد.
- کلون کردن مخزن:
git clone <REPO_URL>
cd <REPO_DIR>
- (اختیاری) ایجاد فایل
.env
بر اساس نمونه:
cp .env.example .env
# سپس مقادیر متغیرها را در .env ویرایش کنید (SECRET_KEY, DEBUG, DATABASE_*)
- ساخت و اجرای کانتینرها:
docker-compose up -d --build
# یا اگر از پلگین جدید استفاده میکنید:
# docker compose up -d --build
- اجرای مایگریشنها و ایجاد اکانت ادمین:
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
- (در صورت نیاز) اجرای collectstatic — توجه: در این پروژه فایلهای استاتیک معمولاً توسط کانتینرها مستقیم سرو میشوند، اما در صورت نیاز:
docker-compose exec web python manage.py collectstatic --noinput
پس از اجرا، اپ روی پورتی که در docker-compose.yml
تنظیم کردهاید در دسترس خواهد بود (مثلاً http://localhost:8000
یا پورتی که مپ کردهاید).
همانطور که ذکر شده، در این پروژه فایلهای استاتیک توسط کانتینر/وبسرور سرو میشوند (بدون استفاده از whitenoise
یا از طریق تنظیمات nginx/apache در کانتینر). اگر بخواهید فایلها را به سرویس ابری (S3) منتقل کنید یا از پلاگینهای دیگر استفاده کنید، بخش مربوطه را در settings.py
و مستندات اضافه کنید.
- برای اجرای لوکال بدون داکر میتوانید محیط مجازی ایجاد کرده و وابستگیها را نصب کنید:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
- از تستهای Django و ابزارهای linting (در صورت وجود) برای کیفیت کد استفاده کنید.
اگر تغییری پیشنهاد دارید یا باگی پیدا کردید:
- یک issue باز کنید.
- یک branch جدید بسازید (
feature/…
یاfix/…
). - پس از اعمال تغییرات، یک PR ارسال کنید و در توضیحات تغییرات را شرح دهید.
این پروژه تحت [لایسنس دلخواه شما] ارائه میشود. (مثلاً MIT — در صورت تمایل اضافه کنید)