検索

ホームページ  >  に質問  >  本文

python - django如何一个url绑定多个视图

问题很简单,我有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中文网2865日前431

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-04-18 09:15:26

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

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

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

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

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

    リーリー

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

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

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

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


    結論:

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

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

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:15:26

    リーリー

    返事
    0
  • キャンセル返事