Skip to main content

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


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

File hashes

Hashes for recently_visited_page_middleware-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a869e0552e2ea706bae6e2b2dcede2099451bbc39ebe68bd1514d6a456a218c8
MD5 82a60db1b9c8867cb3b42345eaaa30e7
BLAKE2b-256 c9906a2b67303bd2fff2af3f0a2d1e5949394aeddb4d257aa44c3b6faf8cc696

See more details on using hashes here.

File details

Details for the file recently_visited_page_middleware-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for recently_visited_page_middleware-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aee96069194c531d25dc43cee378ba848921eccb5dd757a0c03b1f922bebd23d
MD5 9e5862622ba98d243846450ba5d7280f
BLAKE2b-256 89dc009fffd3632597f44312917db290c2a774ba3d96de638fc7a51bc42e02db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page