from rest_framework import serializers from .errorpages import not_allowed def ajax_only(f): def decorator(request, *args, **kwargs): if not request.is_ajax(): return not_allowed(request) return f(request, *args, **kwargs) return decorator def require_POST(f): def decorator(request, *args, **kwargs): if not request.method == "POST": return not_allowed(request) return f(request, *args, **kwargs) return decorator def require_dict_data(f): def decorator(request, *args, **kwargs): if request.method == "POST": DummySerializer(data=request.data).is_valid(raise_exception=True) return f(request, *args, **kwargs) return decorator class DummySerializer(serializers.Serializer): pass