2016-07-07 9 views
1

@api_viewを書きましたが、rest_frameworkは登録しません。だからapi/main-filter/でリクエストを送信すると404になります。どうして?RESTフレームワーク: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

あなたのURLはどのようになっていますか?それがうまくいかないと言っていることはどうですか?まだ404がありますか? – Linovia

+0

私はすでにそれを修正しました:) – Viktor