2016-04-28 53 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>