大家.我正在尝试使用带有http basic auth的django-tastypie为RESTful API编写测试.所以,我有以下代码:
def http_auth(username, password):
credentials = base64.encodestring('%s:%s' % (username, password)).strip()
auth_string = 'Basic %s' % credentials
return auth_string
class FileApiTest(TestCase):
fixtures = ['test/fixtures/test_users.json']
def setUp(self):
self.extra = {
'HTTP_AUTHORIZATION': http_auth('testuser', 'qwerty')
}
def test_folder_resource(self):
response = self.client.get('/api/1.0/folder/', **self.extra)
self.assertEqual(response.status_code, 200)
def test_folder_resource_post(self):
response = self.client.post('/api/1.0/folder/', **self.extra)
self.assertNotEqual(response.status_code, 401)
Run Code Online (Sandbox Code Playgroud)
GET请求完成,返回状态代码200.但POST请求总是返回401.我确信我做错了.有什么建议?
说我有一个模型:
class Entry(models.Model):
...
tags = TaggableManager()
Run Code Online (Sandbox Code Playgroud)
当我在模板中迭代Entry.objects.all()时,entry.tags.all会再向数据库生成一个查询.是否可以减少查询数量?使用像select_related()这样的东西(我知道它不会起作用,因为django-taggit使用了很多关系,但我确信应该有一种方法可以选择所有带有相关标签的条目)