バックエンドにAngular 4フロントエンドとPython Djangoを使用します。 私は詳細ボタンをクリックすると、私は私のコンポーネントDjangoでhttpリクエストを無視またはリダイレクトする方法はありますか?
openDetail(id:number){
this.router.navigate(['/motor/detail', {"id": id}])
}
にopenDetail
方法を実行するブラウザがURL http://localhost:8000/motor/detail;id=21
で詳細コンポーネントを開きます。完璧。重要なのは、自分の詳細コンポーネントでIDを操作するだけです。
しかし、ページを更新すると、404エラーが発生します。 - >The current path, motor/detail;id=21, didn't match any of these.
まあ、これも明確で、バックエンドに飛び込んだ。
メイン - urls.py
#... some other urls...
url(r'^motor/', include('motorControll.urls')),
モータ - urls.py
url(r'^$', views.index, name="index"),
url(r'^overview/$', views.MotorMapping.as_view({'get': 'getAllData'})),
url(r'^detail/$', views.index, name="index"),
url(r'^detail/(?P<id>\d+)/$', views.MotorMapping.as_view({'get': 'getById'})),
url(r'^detail/save/$', views.MotorMapping.as_view({'post': 'save'})),
は、どのように私はこの呼び出しを無視するか、インデックスページへのリダイレクトを実行できますか? 次のステップは、詳細ページをロードした後に、このURLで詳細をロードするためです。http://localhost:8000/motor/detail/21
、すべてのデータを含むJSONを返します。
なぜあなたのURLに ';'があるのですか?それはタイプミスですか?実際には –
ではありません。それは角チュートリアルのものですhttps://angular.io/guide/router#heroes-list-optionally-selecting-a-hero私はコンテンツが正しいことを理解したいと思っています:) - >スクロールを少し下に、それは青いボックス 'Matrix URL notation' –
行列URL表記の代わりにクエリパラメータを使用することをお勧めします。それは本当に安静のための標準ですまた、角度以外で使用することは容易になります –