2016-04-25 9 views
3

私は逆の()関数を使用して、いくつかのURLを返すようにしようとしませんが、関係なく、私はNoReverseMatch例外を取得するもの、してきた:ジャンゴRESTフレームワーク - NoReverseMatch逆を使用して()

Reverse for 'folder' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 

便宜上トラブルシューティングのために、私はいくつかのダンプダウンコードを作成しましたが、それでも動作しません。

{'url': reverse('folder')} 

または

{'url': reverse('appname:folder')} 

あなたが使用している場合:あなたは、要求を渡すべきではありません

from django.conf.urls import url 
from rest_framework.urlpatterns import format_suffix_patterns 
from music import views 

urlpatterns = format_suffix_patterns([ 
    url(r'^folder/$', views.Folder.as_view(), name='folder')]) 
+0

'django.core.urlresolvers.reverse'を使ってみましたか? – Gocht

+0

@ Gochtはい、まったく同じエラーが発生します。私はreverse_lazy()も試みましたが、そこには運がありません。 – Steohawk

+0

チェックするだけで、そのURLパターンはあなたの音楽モジュールの中にありますか?もしそうなら、音楽モジュールのURLがプロジェクトメイン 'urls.py'に' included'されていますか?私は過去に数回それに噛まれてきた... – Paul

答えて

3

from rest_framework.response import Response 
from rest_framework.reverse import reverse 
from rest_framework.views import APIView 

class Folder(APIView): 
    def get(self, request, format=None): 
     return Response({'url': reverse('folder', request=request)}) 

はここに私のURLパターンです:ここに私の見解ですnamespaced URLs

+0

ありがとう!名前空間を追加することができました。完全修飾URLを取得するために依然としてリクエストを渡す必要がありましたが、これはRESTフレームワーク固有のものだと思います。 – Steohawk

関連する問題