2016-01-13 31 views
2

我需要傳遞兩個參數中的URL: 如:http://127.0.0.1:8000/events/103,104/3/多PARAMS

這裏

  • 參數1 = 103,104
  • 參數2 = 3

我使用的url patterm:

url(r'^events/(?P<categories_string>[^\/]*)/(?P<page_no>\d+)/$','main.views.events'), 

我也試過:

url(r'^events/(?P<categories_string>.*)/(?P<page_no>\d+)/$','main.views.events'), 

我View.py:

def events(request, categories_string='', page_no=1): 
    if categories_string =='': 
     return render(request, "main/events.html", {'message' : 'string is null'}) 
    return render(request, "main/events.html", { 'message': {'cat' : categories_string, 'pg' : page_no}}) 

而且我的輸出是:

{'cat': '103,104/3', 'pg': 1} 

這是我第二日Django的工作,我將不勝感激如果我能夠很好地參考閱讀關於允許多個參數的做法。

回答

0

看起來很有可能您的正則表達式匹配103,104/3.*。假設你的貓輸入總是喜歡digits,digits然後下面應該工作:

url(r'^events/(?P<categories_string>\d+,\d+)/(?P<page_no>\d+)/$','main.views.events'), 
+0

其實貓輸入數字或數字,數字或數字,數字,數字等等......所以根據您的回答我用這個:它似乎工作的網址(r'^ events /(?P [\ d +,] +)/(?P \ d +)/ $','main.views.events'), –