1
我有一個看起來像這樣的觀點:如何用自定義裝飾器測試視圖與django中的用戶相關?
@login_required
@active_required()
def myView(request):
print 'in my view'
的active_required客戶裝飾看起來是這樣的:
def active_required():
def decorator(func):
def inner_decorator(request, *args, **kwargs):
my_user = request.user
if my_user.active:
return func(request, *args, **kwargs)
else:
return HttpResponseRedirect(reverse('activate'))
return wraps(func)(inner_decorator)
return decorator
我的測試是這樣的:
def test_my_view(self):
self.client.login(username='user', password='11111111')
response = self.client.post(reverse('my-view'), data, follow=True)
self.assertEqual(response.status_code, 200)
我得到以下錯誤:
@active_required
TypeError: active_required() takes no arguments (1 given)
如果在測試中創建的數據庫不包含此用戶處於活動狀態,那麼如何添加它們?或者我因爲另一個原因而收到此錯誤?
只有出於好奇發生什麼,如果你'delete'的'()'是於'view'? –
只需從裝飾器中刪除(),它應該工作。 –