Welcome to the Django Admin Collaborator repository! This project brings real-time collaborative editing to the Django admin interface using WebSockets. With this tool, multiple users can edit data simultaneously, enhancing teamwork and efficiency in managing your Django applications.
- Real-Time Collaboration: Edit records in real-time with other users.
- Exclusive Locking: Prevent conflicts with exclusive locks on records.
- Presence Indicators: See who is currently editing which records.
- Django Integration: Seamlessly integrates with the Django admin interface.
- WebSocket Support: Utilizes WebSockets for instant updates.
- Redis Backend: Leverages Redis for efficient message handling.
To get started, follow these steps to install the Django Admin Collaborator:
-
Clone the Repository:
git clone https://github.com/Leer20/django-admin-collaborator.git cd django-admin-collaborator
-
Install Requirements: Make sure you have Python and pip installed. Then, install the required packages:
pip install -r requirements.txt
-
Set Up Redis: Ensure that you have Redis installed and running. You can download Redis from the official site.
-
Migrate Database: Run the following command to apply database migrations:
python manage.py migrate
-
Run the Server: Start your Django development server:
python manage.py runserver
Now, you can access the Django admin interface at http://127.0.0.1:8000/admin
.
Once you have the application running, follow these steps to use the collaborative editing feature:
- Log in to the Django Admin: Use your admin credentials to log in.
- Navigate to a Model: Choose a model you want to edit.
- Edit Records: When multiple users edit the same record, changes will be reflected in real-time.
You can check the presence indicators to see who else is editing the same record.
You can customize the behavior of the Django Admin Collaborator through the settings. Here are some key configurations:
- WebSocket URL: Specify the WebSocket URL for your application.
- Redis Settings: Adjust Redis connection settings as needed.
- Lock Duration: Set how long a record remains locked during editing.
In your settings.py
, add the following:
# WebSocket configuration
WEBSOCKET_URL = 'ws://localhost:8000/ws/admin/'
# Redis configuration
REDIS_URL = 'redis://localhost:6379/0'
# Lock duration in seconds
LOCK_DURATION = 300
We welcome contributions! If you want to help improve the Django Admin Collaborator, please follow these steps:
- Fork the Repository: Click on the "Fork" button at the top right of this page.
- Create a Branch: Create a new branch for your feature or bug fix.
git checkout -b feature/my-feature
- Make Changes: Implement your changes and commit them.
git commit -m "Add my feature"
- Push Changes: Push your changes to your forked repository.
git push origin feature/my-feature
- Create a Pull Request: Go to the original repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or support, please reach out:
- Author: Your Name
- Email: your.email@example.com
- GitHub: Your GitHub Profile
Feel free to visit the Releases section for the latest updates and downloads.
Thank you for checking out Django Admin Collaborator! We hope it enhances your Django admin experience.