CCCPaste

Change 404 to 403

1.

# views.py
from django.shortcuts import render

def error_403(request, exception):
    return render(request, '403.html', status=403)

# urls.py
from django.urls import path, include
from .views import error_403

urlpatterns = [
    # your other paths
]

handler403 = 'my_holiday.destination.views.error_403'


2. 




    
    
    
    Forbidden (403)

    


    

{{ message }}

Forbidden 3. from django.http import HttpResponseForbidden @method_decorator(login_required, name='dispatch') class PlaceEditView(views.UpdateView): queryset = Place.objects.all() template_name = "destination/place_edit.html" form_class = PlaceEditForm success_url = reverse_lazy('travelogue_view') def dispatch(self, request, *args, **kwargs): obj = self.get_object() if obj.user != self.request.user: return HttpResponseForbidden("You do not have permission to edit this place.") return super().dispatch(request, *args, **kwargs) @method_decorator(login_required, name='dispatch') class PlaceDeleteView(views.DeleteView): queryset = Place.objects.all() template_name = "destination/place_delete.html" success_url = reverse_lazy('travelogue_view') def dispatch(self, request, *args, **kwargs): obj = self.get_object() if obj.user != self.request.user: return HttpResponseForbidden("You do not have permission to delete this place.") return super().dispatch(request, *args, **kwargs)