2016-11-20 8 views
1

同様の質問はhereと回答しました。入れ子になったアプリケーションとして消費される再利用可能なアプリケーションのURLを逆

私の状況は少し異なります。私は "カテゴリ"と呼ばれる再利用可能なアプリケーションを作成しました。私のプロジェクトでは、私は "ダッシュボード"と呼ばれるアプリを持っています。ダッシュボードアプリには、再利用可能な「カテゴリ」アプリが含まれています。これにより、次のようにURLを逆転させます。

reverse('dashboard:categories:browse') 

ただし、再利用可能なアプリでは、「ダッシュボード」名前空間についての知識がありません。私は上記のリンク先のソリューションを再利用可能なカテゴリのアプリケーション内で次のものに置き換えることができるようにしたいと考えています。

reverse('categories:browse') 

現在、categories.urlsにapp_nameを設定しても機能しません。 "categories:browse"を逆にするとNoReverseMatchになります。

ここでは、アプリケーションがurls.pyファイルにどのように含まれているかを抜粋しています。

# myproject/urls.py 
url(
    r'^dashboard/', 
    include(
     'dashboard.urls', 
     namespace='dashboard', 
    ) 
), 


# dashboard/urls.py 
url(
    r'^categories/', 
    include(
     'categories.urls', 
     namespace="categories", 
    ), 
), 
+0

あなたは 'urls.py'の内容を追加できますか? –

+0

問題はありません。 – pymarco

答えて

1

あなたは直接あなたのメインurls.pycategories URLを含めることができます。

# myproject/urls.py 
url(r'^dashboard/categories/', include('categories.urls', namespace='categories')), 
url(r'^dashboard/', include('dashboard.urls', namespace='dashboard')), 

あなたcategories URLは、ネストされた名前空間に含まれていないその方法、そしてあなたは、単にreverse('categories:browse')を使用することができます。

+0

それは動作します、ありがとう!私はダッシュボードのアプリにすばやく隠されたものをすべて好むだろうと思う。しかし、私は実用的なソリューションを持って満足しています。 – pymarco

関連する問題