2016-04-28 30 views
-2

正則表達式我與urls.py一個問題在我的Django項目URL和Django的

我有一個這樣的網址:

http://127.0.0.1:8000/cars/?page=2 後來當我旁邊短聲將是:

http://127.0.0.1:8000/cars/cars?page=3

和我有連接錯誤:(

的網址是:

URL(R '^車/ $頁= N',TaskViewSet.as_view()),

+0

小心告訴我們錯誤是什麼? – Sayse

+0

這是消息錯誤: – sarra

+0

找不到網頁(404) 請求方法:\t GET 請求URL:\t http://127.0.0.1:8000/cars/cars?page=3 使用在TaskAPI定義URL配置。 Django按以下順序嘗試了這些網址格式: ^ $ ^ cars/$ ^ admin/ 當前網址cars/cars與這些網址中的任何一個都不匹配。 – sarra

回答

-1

您需要:後

url(r'^cars/$', TaskViewSet.as_view()), 

什麼?是一個查詢字符串,它在URL模式中不匹配。您可以在視圖訪問該網頁的值,例如:

page = request.GET['page'] 
+0

這是我的看法:從django.views.generic進口的ListView 類TaskViewSet(ListView控件): \t模型=任務 \t TEMPLATE_NAME = 'task.html' \t context_object_name = 「car_list」 \t paginate_by = 1 \t頁= request.GET中[ '頁'],但我有在請求未解參考錯誤,我通過請求更換列表視圖?謝謝你 – sarra

1

這是發生,因爲你正在鏈接一個/上一個頁面,如在你的模板<a href="cars?page={{ page_obj.next_page_number }}">

你應該做以下更改項目:

重命名URL的conf,像@jonatron建議:

url(r'^cars/$', TaskViewSet.as_view()), 
在模板

然後,確保你一個/上一個頁面鏈接與他們的絕對位置,像這樣:

<a href="/cars/?page={{ page_obj.next_page_number }}">next</a> 

而且,你能說出你的URL的conf並生成完整的URL,而不必重寫每次:

url(r'^cars/$', TaskViewSet.as_view(), name='cars'), 

<a href="{% url 'cars' %}?page={{ page_obj.next_page_number }}">next</a>