我试图构建一个视图,使用 @login_required构建测试,因为我未能使其工作,我做了一个简单的测试 仍然不能让它通过。Django:使用@login_required测试失败的视图
下面是简单的测试和视图的代码:
def test_login(self):
user = self._create_new_user()
self.assertTrue(user.is_active)
login = self.client.login(username=user.username,
password=self.data['password1'])
self.failUnless(login, 'Could not log in')
response = self.client.get('/accounts/testlogin/')
self.assertEqual(response.status_code, 200)
@login_required
def testlogin(request):
print 'testlogin !! '
return HttpResponse('OK')
_create_new_user()被节省了用户,并且存在 方法内进行测试以查看正在工作。
测试失败在response.status_code,返回302和 响应实例是HttpResponseRedirect的,被重定向它作为 如果没有登录。
任何线索?我错过了什么?
问候 埃斯特万
@aeby回应:我复制并粘贴你的代码,仍然可以得到一个302,你在视图中使用了@login_required吗? – 2010-04-25 13:38:37
Django 1.1版。1 - 双检查了TESTLOGIN画面从浏览器上进行,并且仅适用通过登录的用户 – 2010-04-25 14:04:10
是我做的: 从django.contrib.auth.decorators导入已login_required @login_required 高清TESTLOGIN(请求): 返回HttpResponse(“测试”) – 2010-04-25 14:36:00