https://github.com/zero1max/dj_rabbitmq
https://github.com/zero1max/dj_rabbitmq
celery python3 rabbitmq redis
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/zero1max/dj_rabbitmq
- Owner: zero1max
- License: mit
- Created: 2025-06-09T14:48:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-09T17:31:19.000Z (about 1 year ago)
- Last Synced: 2025-10-08T06:46:58.510Z (8 months ago)
- Topics: celery, python3, rabbitmq, redis
- Language: Python
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Django RabbitMQ Feedback Form
Bu loyiha Django, Celery, RabbitMQ va Redis yordamida asinxron email yuborish imkoniyatini ko'rsatadi.
## Talablar
- Python 3.8+
- Django 5.2+
- Celery
- RabbitMQ
- Redis
- python-dotenv
## O'rnatish
1. Virtual muhitni yarating va faollashtiring:
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```
2. Kerakli paketlarni o'rnating:
```bash
pip install django celery redis python-dotenv
```
3. RabbitMQ ni o'rnating:
```bash
docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
```
4. RabbitMQ foydalanuvchisini yarating:
```bash
rabbitmqctl add_user myuser 1
rabbitmqctl set_user_tags myuser administrator
rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
```
5. Redis ni o'rnating va ishga tushiring
6. `.env` faylini yarating:
```
DJ_SECRET_KEY=your_secret_key_here
EMAIL_HOST_PASSWORD=your_gmail_app_password_here
```
## Ishlatish
1. Ma'lumotlar bazasini yarating:
```bash
python manage.py migrate
```
2. Celery worker ni ishga tushiring:
```bash
celery -A core worker -l info
```
3. Django server ni ishga tushiring:
```bash
python manage.py runserver
```
4. Brauzerda http://localhost:8000 manzilini oching
## Xususiyatlar
- Foydalanuvchilar feedback formani to'ldirib, email orqali xabar yuborishlari mumkin
- Email yuborish asinxron tarzda Celery orqali amalga oshiriladi
- RabbitMQ message broker sifatida ishlatiladi
- Redis result backend sifatida ishlatiladi
## Muhim eslatmalar
- Gmail uchun App Password yaratishingiz kerak
- Production muhitida DEBUG = False qilib, ALLOWED_HOSTS ni to'g'ri sozlashingiz kerak
- Xavfsizlik uchun .env faylidagi maxfiy kalitlarni himoya qiling