<分区>
Possible Duplicate:
Understanding Python decorators
我在阅读 django 应用程序源代码时发现了这个
@login_required
def activities(request = None,\
project_id = 0,\
task_id = 0,\
...
以@开头的行是什么意思?
<分区>
Possible Duplicate:
Understanding Python decorators
我在阅读 django 应用程序源代码时发现了这个
@login_required
def activities(request = None,\
project_id = 0,\
task_id = 0,\
...
以@开头的行是什么意思?
最佳答案
它是一个装饰器。它所做的基本上是包装函数。它等效于此代码:
def activities(request = None,\
project_id = 0,\
task_id = 0,\
...
activities = login_required(activities)
它用于检查函数参数(在本例中为 request.session
),修改参数(它可能会为函数提供其他参数而不是它传递的参数),也许还有其他一些东西。
关于以@开头的python行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711762/