問題タブ [nested-urls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1872 参照

ruby-on-rails - Rails URL のネストされたルートとパラメーター (ベスト プラクティス)

RESTful URL と、URL をネストしないことの背後にあるすべての理論については十分に理解していますが、Amazon、StackOverflow、Google などのエンタープライズ アプリケーションでこれがどのように見えるかはまだよくわかりません。

Google には次のような URL があります。

アマゾンはこのように:

そして、次のような StackOverflow:

私の質問は、このようなシステムの URL を作成する上でのベスト プラクティスは何ですか? いつURLにパラメータを保存し始めますか? これらの大企業は、Ruby コミュニティで熱く議論されているルール (たとえば、URL をネストすることはほとんどありません) に従っていないようです。 URL を入れ子にしないという考えは、ブログよりも大きなものではうまくいかないようです。

任意のヒント?

0 投票する
3 に答える
611 参照

asp.net-mvc-routing - MVC: エンティティが実際にはネストされていない場合の、ネストされた URL を使用した RESTful ルーティング

RESTful パラダイム + ネストされた URL には本当に苦労しています。私が今ここにいる場所に私を導く質問をしました。私のドメインは大まかに言えば、学校、学校のコース、学校の教師です。現在、学校、コース、および教師は、1 つの ID でそれらのいずれかを参照できるという意味で、「ネストされた」エンティティではありません。このサイトは、各学校のコースと教師を示す「マイクロ サイト」のコレクションです。コースまたは教師は、1 つの学校にのみ存在できます。

/schools/1/courses/10 のような URL があるとします。学校 1 のコース 10。これは問題なく動作します。ユーザーが手動で 10 を 11 に変更したとします。これはたまたま存在しますが、学校 2 のコースです。現在、これは混乱につながります。私のサイトは、ユーザーが学校 1 にいるとまだ「考え」ていますが、コース 3 を一部として表示しています。それ。

要求されている Id と、それが関与する「親」エンティティ (この場合は学校) の両方に対して詳細アクションをパラメトリックにする必要がありますか? IDだけでなく学校の制約でリポジトリからフェッチしますか?

または、これを行うより良い方法はありますか?

0 投票する
2 に答える
76 参照

regex - 正規表現でslug1/slug2/slug3ページをキャッチする正しい方法は?

この再パターンを使用して、テキストから式r'\({2}.+?\){2}' をキャッチしようとして((slug1/slug2/slug3 someword))います。

それは私に式全体を与えてくれます'((slug1/slug2/slug3 someword))'。次に、それを使用して解析し、個別Python:splitに取得slug1/slug2/slug3somewordます。

グループで純粋な正規表現パターンを使用して同じものを取得するにはどうすればよいですか。あるべきパターンは?どんな助けでも大歓迎です。

0 投票する
1 に答える
100 参照

python - 文字列を使用してURLを反復処理する - python

私は今自分のコードに完全に行き詰まっています。まず最初に、volkskrant のアーカイブ ページからすべての URL を取得しようとします。これが私が打たれた最初のステップです。特定の日付の URL は次のようになります: http://www.volkskrant.nl/archief/detail/01012016

最後の数字は日付を反映しており、どのページでも同じなので、日 (DD)、月 (MM)、年 (2016) の文字列を作成するというアイデアを思いつきました。

次に、ページへのリンクをクリックすると、最終的に取得したい記事のリンクがさらに多く含まれるページに誘導されます。日付の 1 つの URL を取得する方法は知っていますが、すべてではありません。最終的には、ページのすべてのテキストをスクレイピングする必要がありますが、これも 1 ページに対して行うことができます。もう 1 つの問題は、次のページのすべての記事も取得する必要があることですが、それをコードに実装する方法もわかりません。

基本的に、特に文字列を使用する場合、リンクを反復処理する際に大きな問題があります。うまくいけば、誰かがこれで私を助けることができます.

0 投票する
1 に答える
708 参照

python - Django REST Framework 拡張機能の再帰的なネストされた URL

次のモデルがあるプロジェクトの CMS 部分の URL を作成したい

カテゴリに次の URL 構造が必要です

DRF-Extensions またはその他のプラグインを使用してこれを達成するにはどうすればよいですか?

0 投票する
0 に答える
303 参照

django - DRF のネストされたルーターは、ハイパーリンク関係の URL を解決できませんでした

drf-nested-routers を使用して、次のようなネストされた URL パターンを作成しようとしています。

現在のセットアップでは、/projects正常に移動して、ハイパーリンクされた join_requests のリストを表示できます。

ただし、join_request をクリックすると、次のエラーが表示されます。

DRF の初心者として、多くの調査を行った後、どこが間違っているのかを確認できません。誰かが例を投稿したり、設定が間違っている場所をアドバイスしたりしていただければ幸いです。

models.py には、次のものがあります。

serializers.py で:

views.py で:

そして urls.py:

0 投票する
2 に答える
35 参照

django - pk フォームの URL をモデルの関連フィールドに割り当てる

/customers/<id>/ordersを使用して新しい注文を作成するために、「ネストされた」URL を使用したいと考えていますPOSTcustomer_idリクエストの url に基づいて関連する注文を取得したいと思い<id>ます。

Orderモデルには、モデルにcustomer = ForgeinKey(Customer,..)関連するフィールドがありCustomerます。

これまでの私のアプローチは次のとおりです。

  1. の作成OrderSerializer
  2. create()Model オブジェクトの作成に使用する
  3. からの作成中に顧客 ID を取得するself.context['request'].get_full_path()と、完全な URL パスが返されます
  4. を使用して顧客IDに基づいて顧客オブジェクトを取得する
  1. customers.idOrder のcustomer_idフィールドに を割り当てる

このソリューションは機能しますが、非常に汚いようです。より良い方法はありますか?

さらに詳細が必要な場合はお知らせください。

ありがとう!

0 投票する
0 に答える
129 参照

django - Django Rest Framework で detail=False を使用してアクションにパッチ メソッドをマップする方法

Django と Django Rest Framework で API を構築しています

次のエンドポイントがあります:
host/products/はModelViewSetを指しているため、指定されたモデルに対して CRUD が機能しています。

また、次のコードを使用して、configというネストされたモデルの追加アクションを定義します。

作成される URL は、 host/products/config/ です。

この URL で、2 番目に指定されたモデルでオブジェクトを作成して一覧表示できます

問題は、ネストされた URL にPATCHおよびDELETEメソッドを含めたいことです。つまり、
host/products/config/ detail /

私はこのようなことをしようとします:

しかし、当然のことながら、それはうまくいきません...

詳細アクションを同じビューセット内の別のアクションにマップするにはどうすればよいですか?

完全なコードは次のとおりです。