0

我正在与 Django 合作。我想要一个页面使用参数和没有它。我尝试在这样的 url 中使用 '*' 但它不起作用:

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

所以我想我必须为我的页面编写两个 url,一个带参数,另一个不带参数,如下所示:

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

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

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

4

1 回答 1

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')
   ...
于 2012-09-29T06:33:59.717 回答