python - django如何一个url绑定多个视图
PHP中文网
PHP中文网 2017-04-18 09:13:26
0
2
432

问题很简单,我有2个url规则,但是可能会有冲突

url(r'^(?P<category>\w+)/$',
            CategoryView.as_view(), name='category-detail-view'),


url(r'^(?P<url>\w+)/$',CustomView.as_view(),name="custm"),

简单的看来就是这样的,这2条url,其实目的的是一样,为了访问
www.baidu.com/xxx/ 这样的分类,只是有一个是自定页面.
这样设置不行,只能取其中一个.

我想问问, django有没有办法让同一个url规则绑定多个不同的视图? 这样就很灵活了~

PHP中文网
PHP中文网

认证0级讲师

全員に返信(2)
左手右手慢动作

URL パターンが複数のビューにバインドできる場合、Django はこのリクエストを処理する方法 (どのビューに送信すべきか) を知らないと思います。

しかし、今の問題は次のとおりです:

同じパターンに一致する異なる URL には、異なる処理が必要です

これは奇妙に聞こえます。このような場合は、元の URL パターンを複数の区別可能なパターンに分割する必要があることを意味します。

もちろん、この例では、URL パターンを区別するのが難しい可能性が非常に高く、実際に区別するのは難しいかもしれません。 リーリー

リーリー

これら 2 つの URL から抽出されたパターンは基本的にあなたが言ったものとまったく同じであるためです。

次のようなアプローチが考えられます:

  1. カテゴリの数が少ない場合は、カテゴリ部分を直接分割して URL パターンを記述することを検討できます

  2. URL パターンを使用しますが、最初に統合ビューを使用して処理し、次にそれを URL でインターセプトされたパラメータに従って別のビューに転送して処理します


結論:

URL インターセプト パラメータは、このニーズのためだけにあります:

同じ形式の URL パターンは、パターンに一致するが実際には異なるさまざまな URL を処理できなければなりません

いいねを押す +0
伊谢尔伦

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート