Djangoのurls.pyで関数に固定の引数を与える方法

urls.pyにてルーティングを定義する際に、固定の引数を与える関数を定義することができます。

例) 固定の引数を使用

--- urls.py ---

(r'/item/list/$', ‘item.views.list', {‘page_id': ‘1'),
(r'/item/list/?P<page_id>d+)$', ‘item.views.list'),
--- views.py ---

def list(request,  page_id):
    ...

今までは下記例のようにしていたので、これで関数の定義を減らすことができます。

例) 固定の引数を使用しない

--- urls.py ---

(r'/item/list/$', ‘item.views.index,
(r'/item/list/?P<page_id>d+)$', ‘item.views.list'),
--- views.py ---

def index(request):
  return list(request, u"1")
def list(request,  page_id): 
    ...

この記事が役に立った場合、シェアしていただけると励みになります!!