“def”之上的“@”是什么意思?

时间:2014-01-16 07:53:39

标签: python django

from django.views.decorators.http import require_http_mothods

@require_http_methods(["GET", "POST"])
def my_view(request):
    pass

上面的例子中有一个“@”。但我无法弄明白。 提前致谢。 :)

1 个答案:

答案 0 :(得分:1)

@用于decorate函数。此机制称为decorator

装饰器是一个修改另一个函数行为的函数。

在您的情况下,require_http_methods装饰器在调用my_view函数之前检查请求是GET还是POST方法。

这是一个非常强大的机制,我建议花一点时间来理解它。您可以从此tutorial

开始

我希望它有所帮助