我試圖使用this模式在URL中傳遞2個參數,其中第二個參數是可選的。這是我的代碼:具有2個參數的Django url模式曲解第二個參數
urlpatterns = patterns('',
url(r'^topic/(?P<topic>.*)/(?P<page>.*)/$', activities_list,
url(r'^topic/(?P<topic>.*)/$', activities_list, name='activities'),name='activities_page'),
)
這有效,除非第二個參數是1
。在這種情況下,主題是topic/1
和和頁面是None
。它適用於任何其他數字作爲第二個參數。
誰能幫我解決這個錯誤的正確方向?
UPDATE,這是越來越怪異
嘗試幾件事情之後,我發現這個模板標籤使得問題:
<img src="{{recommendation.user_picture_url}}" />
當我刪除這個標記,甚至將其從src屬性中移除並將其放在圖像標記之外,則該URL起作用。該變量包含Linkedin服務器上LinkedIn頭像的URL。
這是我的看法
def activities_list(request, topic, page=1):
print topic
print page
...
return render_to_response(...
我不明白爲什麼我的觀點是從URL中獲得了錯誤的參數(如被看見在打印),而孔響應甚至還沒有尚未呈現。
更新:已解決! (見下文)
我建議兩兩件事 - 1.更改2種URL模式的順序,2縮小的正則表達式匹配像'[ \ w _-] +'如果可以的話...... – karthikr