运行带有和不带参数的页面:django

时间:2012-09-29 05:16:37

标签: django django-urls

我正在使用django。我想要一个页面来处理参数,没有它。我尝试在这样的网址中使用'*'并且它不起作用:

url(r'^ask/(?P<pageNo>\d*)/$',
        'ask'),

所以我想我必须为我的页面写两个网址,一个带有参数,另一个没有它,如下所示:

url(r'^ask/$',
        'ask'),

url(r'^ask/(?P<id>\d+)/$',
        'ask'),

它适用于参数,但没有它,不起作用。你介意请帮帮我吗?谢谢。

1 个答案:

答案 0 :(得分:2)

是的,您必须定义2个网址。

定义您的视图,该参数使用默认值参数。

def ask(request, id=None):
   ...
   # when id is not passed from url try to get it from GET parameters
   if not id:
      id = request.GET.get('id')
   ...