私は2つのURLを持っています:
url(r'^(?P<slug>[^\.]+)/reviews/$', Someview.as_view(), name="someview"),
url(r'^(?P<slug>[^\.]+)/tips/$', Someview.as_view(), name="someview")
reviews
URL のその部分に応じて同じビューに異なるロジックを適用するには、ビューのor部分を取得する必要がありtips
ます。どうすればよいですか?
私は2つのURLを持っています:
url(r'^(?P<slug>[^\.]+)/reviews/$', Someview.as_view(), name="someview"),
url(r'^(?P<slug>[^\.]+)/tips/$', Someview.as_view(), name="someview")
reviews
URL のその部分に応じて同じビューに異なるロジックを適用するには、ビューのor部分を取得する必要がありtips
ます。どうすればよいですか?
あなたはこれを行うことができます:
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")