关于python:“def”上面的“@”是什么意思?

What is the meaning of “@” above “def”?

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
from django.views.decorators.http import require_http_mothods

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

上面的示例中有一个"@"。但我想不出来。事先谢谢。:)


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

decorator是一个将修改另一个函数行为的函数。

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

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

我希望它有帮助。