在Django book的第 8 章中,有一个示例显示了一个基本的视图包装方法,它接收从任何单个任意 URLconf 传入的另一个视图方法:
def requires_login(view):
def new_view(request, *args, **kwargs):
if not request.user.is_authenticated():
return HttpResponseRedirect('/accounts/login/')
return view(request, *args, **kwargs)
return new_view
我遵循这里的大部分逻辑,但我不明白嵌套new_view
定义是如何接收请求的,*args 和 **kwargs 因为它没有被显式传递到requires_login
定义中。
定义究竟是如何new_view
接收这些论点的?