Django middleware for tracking recently visited pages
Project description
Recently Visited Page Middleware
A Django middleware designed to monitor and fetch recently visited pages for authenticated users.
Installation
Use pip to install the package:
pip install recently-visited-page-middleware
Add the app to your INSTALLED_APPS
in your Django project's settings:
INSTALLED_APPS = [
# ...
'recently_visited_page_middleware',
# ...
]
Insert the middleware into your MIDDLEWARE
:
MIDDLEWARE = [
# ...
'recently_visited_page_middleware.middleware.RecentlyVisitedPageMiddleware',
# ...
]
Usage
Import the get_recently_visited_urls
function into your views:
from recently_visited_page_middleware.utils import get_recently_visited_urls
Class-Based View Example
In your class-based views, use the function to retrieve recently visited pages:
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from rest_framework.permissions import IsAuthenticated
class RecentlyVisitedPagesView(APIView):
permission_classes = [IsAuthenticated]
def get(self, request):
user_id = request.user.id
recently_visited_urls = get_recently_visited_urls(user_id)
response_data = {
"status": "success",
"message": "Recently Visited Pages Retrieved Successfully",
"data": recently_visited_urls
}
return Response(response_data, status=status.HTTP_200_OK)
Function-Based View Example
In your function-based views, utilize the function to retrieve recently visited pages:
from rest_framework.decorators import api_view, permission_classes
from rest_framework.response import Response
from rest_framework import status
from rest_framework.permissions import IsAuthenticated
from recently_visited_page_middleware.utils import get_recently_visited_urls
@api_view(['GET'])
@permission_classes([IsAuthenticated])
def recently_visited_pages(request):
user_id = request.user.id
recently_visited_urls = get_recently_visited_urls(user_id)
response_data = {
"status": "success",
"message": "Recently Visited Pages Retrieved Successfully",
"data": recently_visited_urls
}
return Response(response_data, status=status.HTTP_200_OK)
Ensure to configure your cache backend mechanism in your settings.py
file. It can be set to various options like Redis, Memcached, FileBasedCache, DatabaseCache, LocMemCache, or DummyCache. For more information on cache backend mechanisms, refer to the Django documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file recently_visited_page_middleware-0.1.2.tar.gz
.
File metadata
- Download URL: recently_visited_page_middleware-0.1.2.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a869e0552e2ea706bae6e2b2dcede2099451bbc39ebe68bd1514d6a456a218c8 |
|
MD5 | 82a60db1b9c8867cb3b42345eaaa30e7 |
|
BLAKE2b-256 | c9906a2b67303bd2fff2af3f0a2d1e5949394aeddb4d257aa44c3b6faf8cc696 |
File details
Details for the file recently_visited_page_middleware-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: recently_visited_page_middleware-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aee96069194c531d25dc43cee378ba848921eccb5dd757a0c03b1f922bebd23d |
|
MD5 | 9e5862622ba98d243846450ba5d7280f |
|
BLAKE2b-256 | 89dc009fffd3632597f44312917db290c2a774ba3d96de638fc7a51bc42e02db |