がありますDjangoのAPIは現在、私が働いているプロジェクトは以下のようなAPIを
私は何をしたいのですがグループが独自のサブの下で訪問者やギフトショップのエンドポイントであります-見出し。たとえば、次のようにvisits
とgift-shop
のみそれぞれの小見出しの下に用意されていたURLをリストの仕事を持っていることを
api/
visits/
visitors/
rates/
gift-shop/
orders/
rates/
注意。だから、/api/visits
にGETリクエストを返す必要があります:つまり
{
"visitors": "/api/visits/visitors",
"rates": "/api/visits/rates"
}
、私はのルートで利用できるエンドポイントを表示するためにはDjangoで使用されるデフォルトルータのビューと同じ振る舞いを持つように/api/visits/
と/api/gift-shop/
が欲しいですAPI(/api/
)。
私は単純にURLを入れ子にしてみました。そこで、訪問者エンドポイントとショップエンドポイント用のルーターを定義したとします。私が試した:
api_patterns = [
url(r'^visits/', include(visitor_router.urls)),
url(r'^gift-shop/', include(shop_router.urls)),
]
urlpatterns = [
url(r'^api/', include(api_patterns)),
]
これは/api/visits/
と/api/gift-shop/
応答への要求が正しくなるようになります。ただし、/api/
に行くと、/api/visits
または/api/gift-shop
へのリンクは表示されません。
これは、URLだけでなく、ルータ自身も入れ子にする必要があると私に信じています。私はこれを行う上でドキュメントを見たことはありませんでしたが、私のカスタムソリューションを試してみると、他の問題が発生しました。これを行うためのシンプルで標準的な方法があるかどうか誰にも分かっていますか?
tl; dr:Djangoルータをネストするにはどうすればよいですか?
urlpatternsを追加するのを忘れましたか? 'urlpatterns + = [ url(r '^ api /'、(api_patterns)を含む)、 ]'? – MaximeK