2016-07-07 5 views
1

나는 @api_view이라고 썼으나 rest_framework은 등록하고 싶지 않습니다. 따라서 api/main-filter/에 요청을 보낼 때 404가 표시됩니다. 왜?REST Framework : 404 on GET

rest.py

@api_view(['GET']) 
def main_filter_options(request): 
    r = { 
     'regions': models.Region.objects.filter(city__category__isnull=False), 
     'categories': models.Category.objects.filter(level=0), 
     'years': tuple((str(n), str(n)) for n in range(2016, datetime.now().year)) 
    } 
    return response.Response(r) 

api.py

router = DefaultRouter() 
router.register(r'main-filter', rest.main_filter_options, base_name='main-filter') 
urlpatterns = router.urls 

urls.py

url(r'^api/', include('activities.api')), 
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) 

답변

1

라우터는 단지 01 일이고 APIView이 아니며 기능 기반보기가 아닙니다.

일반 Django보기와 마찬가지로 명시적인 URL을 작성해야합니다.

+0

아직 작동하지 않습니다. – Viktor

+0

글쎄, 이제 어떻게 보이나요? 그게 효과가 없다고 말하는 이유는 무엇입니까? 아직도 404가 있니? – Linovia

+0

나는 이미 그것을 고쳤다 :) – Viktor