1

私は2つのURLを持っています:

url(r'^(?P<slug>[^\.]+)/reviews/$', Someview.as_view(), name="someview"),
url(r'^(?P<slug>[^\.]+)/tips/$', Someview.as_view(), name="someview")

reviewsURL のその部分に応じて同じビューに異なるロジックを適用するには、ビューのor部分を取得する必要がありtipsます。どうすればよいですか?

4

2 に答える 2

6

あなたはこれを行うことができます:

url(r'^(?P<slug>[^\.]+)/(?P<reviews>reviews)/$', Someview.as_view(), name="someview"),
url(r'^(?P<slug>[^\.]+)/(?P<tips>tips)/$', Someview.as_view(), name="someview")

ビューでは、次のように取得できます。

クラスベースのビュー:

class SomeView(ListView):

      def my_fn(self):
          reviews = self.kwargs.get('reviews', None):
          ...

関数ベースのビュー:

def SomeView(request, reviews):
    #you can use it in the view now
    revews = reviews
    ...

URL に辞書を渡すことで、より多くの変数を取得できます。

url(r'^(?P<slug>[^\.]+)/reviews/$', Someview.as_view(), {'reviews':'reviews','tips':'tips'}, name="someview")
于 2013-10-21T17:51:16.037 に答える