2016-07-04 10 views
1

私は、ミッションがほぼ同一の複数のURLを持っています(対応するコンテキストでリストページを生成します)。パラメータに応じて複数のURLを持つ1つのクラスベースのビューオブジェクト

url('^by-country/(?<arg1>\w+)', MyO.as_view(), name='by-country'), 
url('^by-period/(?<arg1>\w+)', MyO.as_view(), name='by-period'), 
url('^by-age/(?<arg1>\w+)', MyO.as_view(), name='by-age') 

urlpatternsにおける第二の正規表現名前付き引数としてそれをせずに一つのクラスベースのビューでby-blabla文字列を渡す方法があります:だから私urlpatternsのようなものはありますか?

派生クラス(MyO)を使用しているため、既に宣言されている属性(例:template_name)以外は何も渡すことができません。だから、それを行うためのきれいな方法はありますか?

答えて

1

すべてのURLパターンは、正規表現自体から派生していないビューに渡す余分なパラメータを指定する3番目の位置引数を受け取ります。したがって:

url('^by-country/(?<arg1>\w+)', MyO.as_view(), {'category': 'by-country'}, name='by-country'), 
+0

余分な引数は、クラスベースのビューの 'dispatch'メソッドに渡されますか? –

+0

Daniel!ありがとうございます。しかし、どこで 'category'パラメータを抽出しますか?私の 'get'メソッドでは? –

+0

ありがとう、それは 'kwargs'から得ることができます! –

関連する問題