1 回答
TA贡献1824条经验 获得超6个赞
我认为函数装饰器是解决此问题的完美解决方案。以下内容使您可以检查条件(权限),并在必要时通过重定向劫持响应,如果没有,则继续常规视图响应:
from django.shortcuts import redirect
def check_permissions(view):
view_name = view.__name__
def view_wrapper(*args, **kwargs):
# Check permissions here.
if False or False or True:
# Hijack response with a redirect if conditions not met.
return redirect('wakemeup:index')
# Conditions met, continue with normal response.
return view(*args, **kwargs)
return view_wrapper
@check_permissions
def delete_object(request, object_type, object_id):
# Your normal view...
return
另外,请注意其捕获视图名称的方式。我认为,动态性要强得多。
添加回答
举报
