我正在使用Django 1.8.4和DRF 3.2.1,当我对指定的URL运行请求时一切正常,但是当我使用py.test运行测试时,函数更新不会进入task_id参数.但网址很好.
附上一些来自urls.py和views.py以及tests.py的代码..这是代码的摘录,当然很多东西都丢失了我只需要眼睛就能看出我做错了什么.
urls.py
from django.conf import settings
from django.conf.urls import include, patterns, url
from rest_framework import routers
from remotetask import views as rt_views
remotetask_detail = rt_views.RemoteTaskViewSet.as_view({'list': 'detail',
'put': 'update'})
remotetask_all = rt_views.RemoteTaskViewSet.as_view({'list': 'list'})
urlpatterns = patterns(
'',
url(r'^remotetasks/$', remotetask_all, name='api-remotetask-all'),
url(r'^remotetasks/(?P<task_id>\d+)/$', remotetask_detail,
name='api-remotetask-detail'),
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework')),
)
Run Code Online (Sandbox Code Playgroud)
views.py
from django.shortcuts import get_object_or_404
from rest_framework import generics
from rest_framework import status
from rest_framework.response import Response
from remotetask.models import RemoteTask
from remotetask.serializers import RemoteTaskSerializer
Run Code Online (Sandbox Code Playgroud)
来自rest_framework导入视图集
class RemoteTaskViewSet(viewsets.ViewSet):
queryset = RemoteTask.objects.all() …Run Code Online (Sandbox Code Playgroud) 我有这样的问题,我有这样的乘客的字典:
passengers = {
1: {'name': 'Foo', 'lastname': 'Bar', 'exclusive': True},
2: {'name': 'John', 'lastname': 'Doe'},
3: {'name': 'Rocky', 'lastname': 'Balboa', 'exclusive': True},
4: {'name': 'Mohammed', 'lastname': 'Smith'}
}
Run Code Online (Sandbox Code Playgroud)
而且我需要首先打印出这些项目的结果,然后是其余的:
这是所需的输出
List of passengers:
===================
1.- Foo Bar
2.- Rocky Balboa
3.- John Doe
4.- Mohammed Smith
Run Code Online (Sandbox Code Playgroud)
我试过了collections.deque,我找不到任何适合我的东西,直到我想出这个功能:
def prioritize_passengers(dictionary):
priority_list = []
normal_list = []
sorted_list = []
for key, item in dictionary.iteritems():
if 'exclusive' in item:
priority_list.append(key)
else:
normal_list.append(key)
sorted_list = priority_list + normal_list
return sorted_list …Run Code Online (Sandbox Code Playgroud)