Django 如何传递分页 ID 和模型 ID?
Django how to pass an id of pagination and model id?
谢谢,我正在 problem.I 使用分页 url 传递一个页面 ID 并且还想传递我的模型驱动程序 ID。如果页面为 1,则 url 为
*url(r'^rentacar/list/$', extension_views.rentacar_list),*
但是在用户转到下一页后 url 是:
*url(r'^rentacar/list/(\d+)/$', extension_views.rentacar_list),*
但我实际上想做的是在我试图传递的 url 中引用驱动程序 ID。
我想做的是在我的 url 中获取驱动程序 ID 和页面#。我该怎么做呢?以及我如何改变我的观点并实现它,而它 运行 通过分页
Views.py
@csrf_protect
def rentacar_list(request, page_number=1):
all_cars = Car.objects.all().order_by('-id')
if menu_config.menu_item_rentacar_list_show_unavailable == 0:
all_cars = all_cars.exclude(car_available=0)
else:
all_cars = all_cars
cars_page = Paginator(all_cars, menu_config.menu_item_rentacar_list_pagination)
args['cars'] = cars_page.page(page_number)
template = Template.objects.get(template_default__exact=1)
template_page = template.template_alias + str("/rentacar/rentacar_cars_list.html")
return render(request, template_page, args)
Urls.py
url(r'^rentacar/list/$', extension_views.rentacar_list),
url(r'^rentacar/list/(\d+)/$', extension_views.rentacar_list),
但我想实现:
url(r'^rentacar/list/driver/id/$', extension_views.rentacar_list),
url(r'^rentacar/list/(\d+)/driver/id/$', extension_views.rentacar_list),
你的驱动id不应该在url路径中,你可以在url参数中传输数据,例如:
yourhost/rentacar/list/<page_id>?driver=<driver_id>
得到driver_id形式request
,例如:
driver_id = request.GET.get('driver', None)
最后,你可以通过内置分页功能的django ListView重构视图,这里是django ListView documnet django listview
例子
url.py
url(r'^rentacar/list/(\d+)/$', extension_views.rentacar_list),
views.py
def you_view(request, page_number):
driver_id = request.GET.get('driver', None)
你的要求url
127.0.0.1/rentacar/list/1?driver=2
谢谢,我正在 problem.I 使用分页 url 传递一个页面 ID 并且还想传递我的模型驱动程序 ID。如果页面为 1,则 url 为
*url(r'^rentacar/list/$', extension_views.rentacar_list),*
但是在用户转到下一页后 url 是:
*url(r'^rentacar/list/(\d+)/$', extension_views.rentacar_list),*
但我实际上想做的是在我试图传递的 url 中引用驱动程序 ID。
我想做的是在我的 url 中获取驱动程序 ID 和页面#。我该怎么做呢?以及我如何改变我的观点并实现它,而它 运行 通过分页
Views.py
@csrf_protect
def rentacar_list(request, page_number=1):
all_cars = Car.objects.all().order_by('-id')
if menu_config.menu_item_rentacar_list_show_unavailable == 0:
all_cars = all_cars.exclude(car_available=0)
else:
all_cars = all_cars
cars_page = Paginator(all_cars, menu_config.menu_item_rentacar_list_pagination)
args['cars'] = cars_page.page(page_number)
template = Template.objects.get(template_default__exact=1)
template_page = template.template_alias + str("/rentacar/rentacar_cars_list.html")
return render(request, template_page, args)
Urls.py
url(r'^rentacar/list/$', extension_views.rentacar_list),
url(r'^rentacar/list/(\d+)/$', extension_views.rentacar_list),
但我想实现:
url(r'^rentacar/list/driver/id/$', extension_views.rentacar_list),
url(r'^rentacar/list/(\d+)/driver/id/$', extension_views.rentacar_list),
你的驱动id不应该在url路径中,你可以在url参数中传输数据,例如:
yourhost/rentacar/list/<page_id>?driver=<driver_id>
得到driver_id形式request
,例如:
driver_id = request.GET.get('driver', None)
最后,你可以通过内置分页功能的django ListView重构视图,这里是django ListView documnet django listview
例子
url.py
url(r'^rentacar/list/(\d+)/$', extension_views.rentacar_list),
views.py
def you_view(request, page_number):
driver_id = request.GET.get('driver', None)
你的要求url
127.0.0.1/rentacar/list/1?driver=2