2
在我的Django項目,我通常測試,如果視圖被稱爲是正確使用:Django的測試返回_wrapped_view作爲視圖名稱,而不是正確的視圖名稱
viewName = resolve(response.request["PATH_INFO"])[0].func_name
self.assertEqual(viewName,'correct_view_name')
我是能夠成功地做到這一點,直到我增加了一個裝飾。從那時起,我的觀點正常運作,但我無法測試(至少像這樣)正確的視圖名稱。
我添加的裝飾看起來是這樣的:
def owner_required(view_func, Model):
'''
checks if the object is being accessed but its owner
'''
def decorator(view_func):
def _wrapped_view(request, *args, **kwargs):
obj = Model.objects.get(pk=int(kwargs['pk']))
if obj.user == request.user:
return view_func(request, *args, **kwargs)
return HttpResponse('You don't have access to this page.')
return _wrapped_view
return decorator(view_func)
當我申請這個裝飾始終是「_wrapped_view」
我怎樣才能使視圖名稱回到正常的的resolve(response.request["PATH_INFO"])[0].func_name
結果呢?
感謝
感謝您的快速響應!它非常完美! – duduklein 2012-01-15 13:28:00