【发布时间】:2015-08-09 16:43:45
【问题描述】:
我有一个 Django 视图和一个装饰器 @token_required,但我想将此装饰器应用于函数只有当方法是 POST 时。
现在我有:
@token_required
def articles(request):
if request.method == 'POST':
...
if request.method == 'GET':
...
但是装饰器是应用于GET和POST
【问题讨论】:
-
唯一的方法是在装饰器中检查请求方法。由于装饰器应用于函数,因此根据定义,无论请求方法如何,都会调用它。
-
只发送帖子请求到文章视图。为什么要把事情搞得太复杂?
-
我的第一直觉是创建自己的装饰器,只有在请求类型是 POST 时才调用他们的装饰器。但这可能有点太元了。