# Create your views here. from django.http import JsonResponse, HttpResponse from django.shortcuts import render from ratelimit.decorators import ratelimit from vbv_lernwelt.core.middleware.auth import django_view_authentication_exempt def permission_denied_view(request, exception): return render(request, "403.html", status=403) def rate_limit_exceeded_view(request, exception): return render(request, "429.html", status=429) @django_view_authentication_exempt def server_json_error(request, *args, **kwargs): """ Generic 500 error handler. """ data = { "detail": "Server Error (500)", "status_code": 500, } return JsonResponse(data, status=500) @ratelimit(key="ip", rate="5/m", block=True) @django_view_authentication_exempt def check_rate_limit(request): return HttpResponse(content=b"Hello")