A reusable Django app for tracking user activity on web application. This app logs user actions like url, referer, method, ip, user_agent and timestamp. It’s designed to be reusable, easy to integrate, and can be customized to fit your needs.
- Tracks user activity (e.g., URL visited, HTTP method, referer, ip, user_agent and timestamp).
- Logs activity for authenticated users.
- Easily integrates into any Django project.
- Admin interface for easy viewing and management of activity data.
- Reusable and customizable.
- Python 3.x
- Django 4.0 or later (recommended)
- A PostgreSQL, MySQL, SQLite or any relational database for data storage
You can install the django-user-activity app in your Django project using one of the following methods.
-
Install the app via
pip:pip install django-user-activity
-
Install the app via
git:pip install git+https://github.com/rkpust/django-user-activity
-
Clone the repository or download the package.
-
Navigate to the project directory and install the app locally.
pip install -e /path/to/django-user-activity pip install django-user-activity-0.0.1.tar.gz
Add activity to your INSTALLED_APPS in your settings.py file:
INSTALLED_APPS = [
...
'activity',
...
]Add ActivityMiddleware to your MIDDLEWARE in your settings.py file:
MIDDLEWARE = [
...
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'activity.middleware.ActivityMiddleware',
...
]Run migrations to set up the necessary database tables:
python manage.py makemigrations
python manage.py migrateOr, you can run these commands for further clarification.
python manage.py makemigrations activity
python manage.py migrate activity 0001The Activity model contains the following fields:
user: The user who performed the action.
url: The URL visited by the user.
referer: The referer tells you which page the user is coming from. If its value is None, it means the user hits the url directly in the browser.
method: The HTTP method (e.g., GET, POST).
ip: The ip of user's device.
user_agent: The user_agent tells you the information of users browser, os etc information.
timestamp: The timestamp when the action occurred.
You can view, filter, and search user activity data in the Django Admin Interface by visiting /admin path. Here, you will see Activities option in the left side. You will
- see those field as list.
user,url,referer,method,ip,user_agent,timestamp - filter those field.
method,timestamp - search those field by value.
username,url,referer,method,ip
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! If you'd like to improve, fix bugs or add new features to the reusable django-user-activity app, feel free to create an issue or submit a pull request on GitHub. Ensure the code adheres to the project’s style.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Write your code and tests.
- Run the tests to ensure everything is working. (
python manage.py test activity) - Submit a pull request describing your changes.