小编Nar*_*mma的帖子

django-rest-framework http在django 1.5上以415失败

我正在使用REST API的django-rest-framework(最新版),并使用内置的测试客户端在django中实现了很少的测试用例.

以下django测试用例与django版本<1.5一起工作正常

self.client.put('/core/accounts/%s/'% self.account.id,
        data = prepare_dict(self.account),
        HTTP_AUTHORIZATION=self.token)
Run Code Online (Sandbox Code Playgroud)

升级到django 1.5,除了与HTTP PUT相关的测试外,所有测试都在通过, 同时调查发现的问题@ https://docs.djangoproject.com/en/dev/releases/1.5/#options-put-and-delete-请求合的测试客户端

如果在没有content_type的PUT请求中使用data参数,则必须先对数据进行编码,然后再将其传递给测试客户端并设置content_type参数.

因此,更新了我的测试以反映此更改并尝试了以下,但仍然获得http 415而不是http 200

from django.test.client import MULTIPART_CONTENT, BOUNDARY, encode_multipart
self.client.put('/core/accounts/%s/'% self.account.id,
            data = encode_multipart(BOUNDARY, prepare_dict(self.account)),
                content_type=MULTIPART_CONTENT,
        HTTP_AUTHORIZATION=self.token)
Run Code Online (Sandbox Code Playgroud)

知道我错过了什么吗?PS:django-rest-framework内置Web UI的所有功能都运行良好

django django-rest-framework

32
推荐指数
2
解决办法
1万
查看次数

如何使用PyEphem计算经度

试图计算太阳拉特和长期使用PyEphem但不匹配星历表
SUN:2011 MAY 04 We 04 14:46:08 13TA12 = 43度约(根据网站www.findyourfate.com)

a = Sun()
a.compute('2011-05-04')
>>> a.hlon
274:18:49.1
>>> a.hlat
0:00:00.1
Run Code Online (Sandbox Code Playgroud)

可能有什么不对?如何计算行星/太阳的经度.Helio公司/地心.

python astronomy pyephem

5
推荐指数
1
解决办法
2559
查看次数

Django中的条件注释

我得到了简单的要求(不是简单的实现),并且在没有对db进行多次命中的情况下确定如何实现它,并且没有.extra()在queryset中.

Task:
  name = xxx
  status = models.IntegerField(choices=some_choices)
  project = ForeignKey(Project)

Project:
  name = xxx
  code = xxx
Run Code Online (Sandbox Code Playgroud)

项目包含具有各种状态的任务.(假设status = 3已完成)现在,我想列出所有项目的总任务和已完成的任务,如下所示

  1. 项目1,total_tasks = 5,completed_tasks = 2
  2. 项目1,total_tasks = 2,completed_tasks = 1

我能够使用注释获得total_tasks,但不能获得completed_tasks,因为它需要注释中的条件.无论如何要做到这一点?

django annotate

4
推荐指数
2
解决办法
2818
查看次数

django-rest-framework对象级条件验证

如何使用django-rest-framework执行对象级条件验证. 如果我们validate(self, attrs)在序列化程序中使用,则会对所有调用进行验证.我应该知道并将其应用于某些http动词.例如:我想仅为PUT执行对象级验证.

django-rest-framework

4
推荐指数
1
解决办法
884
查看次数