怎么用?
new_view
作品
让我们先看看
纽维视图
功能:
def new_view(request, *args, **kwargs):
if not request.user.is_authenticated():
return HttpResponseRedirect('/accounts/login/')
return view(request, *args, **kwargs)
什么时候?
新视图
调用时,它检查用户是否经过身份验证。如果用户已通过身份验证,则
纽维视图
电话
view
把所有的论点(
request
,位置参数和关键字参数)。
定义新视图
纽维视图
不会自动执行。我们正在使用
def
定义函数,但我们不会立即执行它。相反,我们回来了
纽维视图
作为一个函数。想象一下下面的代码:
def my_view(request):
# ... some view stuff happens here
my_new_view = requires_login(my_view)
现在,
my_new_view
是一个函数。我可以像其他函数一样调用它。到目前为止,还没有实际调用这个新函数。
什么时候?
MyoNeNexVIEW
调用,它接收所有参数。然后调用
my_view
,传递所有参数(
请求
,位置参数和关键字参数)到
米亚维尤
相反。
(当然,所有这些都假定用户是经过身份验证的。否则,当你打电话时
MyoNeNexVIEW
你会得到一个
HttpResponseRedirect
和
米亚维尤
不会被召唤。)
看法
作为一个论点
requires_login
接收调用的函数
看法
作为它的论点。
看法
引用一个函数,但我们还没有执行该函数。
看法
只有在
纽维视图
执行。