1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from django.http import Http404
def require_xhr():
"""
Decorator to make a view only accept requests from AJAX calls. Usage::
@require_xhr()
def my_view(request):
# Returns data
# ...
"""
def decorator(func):
def inner(request, *args, **kwargs):
if request.META.get('HTTP_X_REQUESTED_WITH') != 'XMLHttpRequest':
raise Http404
return func(request, *args, **kwargs)
return inner
return decorator
|
More like this
- render_to by asolovyov 4 years, 11 months ago
- A custom 500 handler which is AJAX-aware by mallipeddi 5 years, 3 months ago
- Ajax required decorator by zenx 5 years ago
- Auto rendering decorator with options by Batiste 5 years, 4 months ago
- JSON decorator for views handling ajax requests by anilshanbhag 5 months ago
Comments
May be better solution:
#
@daevaorn:
HttpResponseNotAllowedrequires a 2nd argument specifying the allowed methods, so it's not of use here#
Changed HttpResponseNotAllowed to Http404 exception
#
is_ajax method was added to request objects:
http://code.djangoproject.com/ticket/6616
#
Different people all over the world take the home loans in various creditors, because this is comfortable.
#