diff --git a/django_quicky/decorators.py b/django_quicky/decorators.py index bf9ceb3..d99d488 100644 --- a/django_quicky/decorators.py +++ b/django_quicky/decorators.py @@ -17,6 +17,9 @@ __all__ = ["view", "routing"] +DJANGO_GTE_17 = django.VERSION >= (1, 7) +DJANGO_GTE_110 = django.VERSION >= (1, 10) + def render_if(self, render_to=None, condition=lambda: False): """ @@ -123,7 +126,7 @@ def wrapper(request, *args, **kwargs): if rendering and not isinstance(response, HttpResponse): if rendering == 'json': - if django.VERSION[0] >= 1 and django.VERSION[1] >= 7: + if DJANGO_GTE_17: return HttpResponse(json.dumps(response), content_type="application/json", *decorator_args, **decorator_kwargs) @@ -169,13 +172,15 @@ def other_view(request, pk): urlpatterns = UrlList() def url(regex, kwargs=None, name=None, prefix=''): + if prefix and DJANGO_GTE_110: + raise RuntimeError("Support for 'prefix' option on url() was dropped in Django 1.10. Please update your code") def decorator(func): - + kwargs = {'prefix': prefix} if prefix else {} + final_func = func.as_view() if hasattr(func, 'as_view') else func urlpatterns.append( - addurl(regex, func, kwargs, name or func.__name__, prefix), + addurl(regex, final_func, kwargs, name or func.__name__, **kwargs), ) - return func return decorator