From 5c19274643dacc0a16e26634aa5dc34bd11a7077 Mon Sep 17 00:00:00 2001 From: Batuhan Taşkaya Date: Tue, 7 May 2019 05:02:08 +0300 Subject: Fixed #30453 -- Fixed crash of simple_tag() and inclusion_tag() when function is wrapped. getfullargspec() doesn't work with wrapped functions. --- django/template/library.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'django') diff --git a/django/template/library.py b/django/template/library.py index f88c2af822..20bc86dac8 100644 --- a/django/template/library.py +++ b/django/template/library.py @@ -1,6 +1,6 @@ import functools from importlib import import_module -from inspect import getfullargspec +from inspect import getfullargspec, unwrap from django.utils.html import conditional_escape from django.utils.itercompat import is_iterable @@ -106,7 +106,7 @@ class Library: return 'world' """ def dec(func): - params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec(func) + params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec(unwrap(func)) function_name = (name or getattr(func, '_decorated_function', func).__name__) @functools.wraps(func) @@ -143,7 +143,7 @@ class Library: return {'choices': choices} """ def dec(func): - params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec(func) + params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec(unwrap(func)) function_name = (name or getattr(func, '_decorated_function', func).__name__) @functools.wraps(func) -- cgit v1.3