我想这样做:
@friendship_required
或
@friendship_required(request)
有没有人能帮我把这个简单的函数变成一个装饰器,我想我会经常用到它,我觉得把它变成装饰器更好,或者如果hasattr
在我的设置文件中,我应该如何设置return
语句?谢谢
def friendship_checker(request):
if hasattr(request.user,'friend'):
pass
else:
return HttpResponseRedirect('/access-denied')
发布于 2013-02-04 01:28:39
from functools import wraps
def friendship_checker(f):
@wraps(f)
def wrapped(request, *args, **kwargs):
if hasattr(request.user, 'friend'):
return f(request, *args, **kwargs)
else:
return HttpResponseRedirect('/access-denied')
return wrapped
因此,要装饰视图,请执行以下操作:
@friendship_checker
def my_view(request):
...
https://stackoverflow.com/questions/14675055
复制相似问题