我的应用程序中有以下装饰器,它检查当前用户是否创建了任何位置对象,并将它们重定向到另一个URL(如果它们没有)。Django将模型名称作为参数传递给装饰器
def location_required(f):
def wrap(request, *args, **kwargs):
locations = Location.objects.filter(user=request.user)
if locations.count() == 0:
return HttpResponseRedirect("/")
return f(request, *args, **kwargs)
wrap.__doc__=f.__doc__
wrap.__name__=f.__name__
return wrap
我想为其他模型有类似的功能。我不希望创建多个装饰器,而是希望能够将模型名称作为参数传递(也可能是重定向到的url)。
这是可能的,我需要做些什么改变?
任何意见将不胜感激。
谢谢。
感谢您的帮助! – Dan