3

個人的なプロジェクトに URLMapping を実装することを検討しています。解決策が存在することは既に認識しているため、解決策を使用するよう提案する回答はしないでください。

私が望んでいるのは、URL マッピングの実装について、仲間の開発者や Web ユーザーの意見を収集することです。特にお答えいただきたいのは、

  • あなたのお気に入りの実装はどれですか?
  • お気に入りの実装のどこが気に入っていますか?
  • お気に入りの実装で気に入らない点は何ですか?
  • どのように改善しますか?

二つの観点からお答えいただきたいです。

  • 開発者として
  • ユーザーとして

この件についてご意見をお寄せいただければ幸いです。ありがとうございます。

4

2 に答える 2

1

私は django の URLConf メカニズムだけを扱ってきました。変数に依存する方法urlpatternsは少し薄っぺらだと思いますが、パターンを指定し、他の URL 構成にディスパッチする際の表現力が気に入っています。おそらく最善の方法は、最初に URL スキームを把握してから、いくつかのソリューションを試して、最も一致するものを見つけることだと思います. // GET/の完全な補完を使用してハードコアな REST を使用し、ユーザー エージェントのヘッダーをチェックする場合、django はデフォルトで、URL 構成ファイルとビュー ファイルの間でロジックを分割します。最もクリーンなソリューションではない可能性があります。 POSTPUTDELETEAccept

ただし、すべて Python であるため、 に割り当てる前に、より複雑な処理を行うことができる場合がありますurlpatterns

本当に、必要なことを実行するシステムが必要です。URL スキームは API であるため、使用するツールに基づいて妥協しないでください。API を把握し、それを可能にするツールを見つけて、邪魔にならないようにします。

編集: 「URL スキームの設計」の Google 検索も行ってください。あまり苦労せずにこれを見つけました:http://www.gaffneyware.com/urldesign.htm。包括的ではありませんが、flickr の機能を調べて、いくつかの良いアドバイスを得ることができました。

于 2010-02-01T16:49:35.660 に答える
1

url-routing タグに気付くべきでしたね。:-) 申し訳ありません。

jcd の経験は私のものを模倣しています - Django も私が使っているものです。

アプリのルートがアプリ内 (urls.py) にあり、そのアプリを利用する可能性のあるプロジェクトに含めることができるという事実が気に入っています。私は正規表現に慣れているので、ルートを正規表現で指定してもうまくいきません (しかし、他のプログラマーがもっと珍しい表現に頭を悩ませているのを見たことがあります)。

何らかの識別子 (Django の場合はルートの名前) を介してルートを逆にできることは必須です。テンプレートまたはコントローラー (Django で表示) で URL をハードコーディングすることは、絶対に厳禁です。Django には、メソッドを使用するテンプレート タグがあります。reverse()

私がやりたいことの 1 つは、django にデフォルト ルートの概念を持たせることです ( Railsや Pylons のように)。Django では、すべてのルートをビュー メソッドにマップする必要があります。URL 自体に基づいて特定のビューを呼び出そうとするという概念はありません。利点は、驚きがないことです。urls.py は、プロジェクトまたはアプリの目次です。欠点は、urls.py が長くなる傾向があることです。

于 2010-02-01T16:37:41.287 に答える