Я работаю над django 1.7 и python 2.7.Чтобы предотвратить атаку csrf на пост-запрос ajax, я добавил токен csrf в заголовок ajax перед отправкой.В представлениях я добавил csrf_protect декоратор, чтобы проверить токен.В этом сценарии все работает нормально.Но в моем проекте эта функция в views.py вызывается внутренне в других представлениях, где я не реализовал токен csrf, это вызывает ошибку 403. Поэтому я хочу сделать только, когда есть пост-вызов ajax, нужно проверить декоратор csrf_protect,Любыми другими звонками можно пренебречь.
def check_token(func):
def wrapper(request, *args, **kwargs):
if request.is_ajax():
return csrf_protect(func(request,*args, **kwargs))
return func(request,*args, **kwargs )
return wrapper
@check_token
def myViews(request,mob,id):
"""function starts here"""