在Django代码上使用Pylint,我经常收到W0613警告。在声明变量并且不使用变量的情况下,有90%的情况与案例相关。但是有时候我认为不是。
W0613: Unused argument 'kwargs' (unused-argument)
触发警告的示例,一个处理500错误的视图:
def error_500(request, *args, **kwargs):
'''
A 500 error handling view
'''
data = {}
return render(request, '500.html', data)
在上述情况下,如果我们从Django 2(我记得)删除** kwargs,那么任何500错误的情况都会导致未处理的异常,从而导致崩溃。
所以我很困惑Pylint是否真的了解所有可能出现的情况。
我应该始终将警告视为真正的警告,因为我的代码缺少某些内容,还是应该知道这些特殊情况并使警告静音?
我注意到,通过为Django使用特殊的Pylint,这种警告通常不会经常出现(pylint-django)。
但是它有时仍然会发生。
答案 0 :(得分:2)
这是一个真实的警告-您不要使用该参数。另外,您无法将其删除-您正在实现一个接口,希望该参数存在(尽管您不使用它,但可能有人使用)。
幸运的是,pylint期望如此,并为忽略的参数设置了...
ignored-argument-names = arg | args | kwargs
这些名称是用于实现接口的名称,但是您实际上可能不需要,因此忽略特定警告是有道理的。