【发布时间】:2020-11-24 06:37:23
【问题描述】:
我在 Django 中使用分页列出了 300 条客户记录。每页包含 20 条记录。假设我在第 7 页并选择了要编辑的记录。编辑记录后,成功的 url 重定向列表视图(这是第一页)。所以我想,如果我在?page=7 中编辑,当客户id 完成编辑时,它会回到?page=7。
这里是我在view.py 中的customer_list 视图:
def customer_list(request):
posts_list = Customer.objects.all()
query = request.GET.get('q')
if query:
posts_list = Customer.objects.filter(
Q(invoice__addresses__contact_number__icontains=query) |
Q(invoice__addresses__address__icontains=query) |
Q(shipping_method__icontains=query)
).distinct()
page = request.GET.get('page')
paginator = Paginator(posts_list, 20) # 20 posts per page
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
context = {
'posts': posts,
'page': page
}
return render(request, "customers/customer_list.html", context)
这里是update_customer_list在view.py中查看:
def update_customer_list(request, id):
"""
Here, update single customer id form customer table
:param request:
:param id:
:return:
"""
obj = get_object_or_404(Customer, pk=id)
form = CustomerForm(request.POST or None, instance=obj)
if form.is_valid():
form.save()
messages.add_message(request, messages.SUCCESS, 'Customer successfully Updated')
return redirect('customer_list')
return render(request, 'customers/customerUpdateForm.html', {'form': form})
这里是update_customer_listurls.py中的网址:
path('update_customer_list/<int:id>/', views.update_customer_list, name='update_customer_list'),
我正在等待某人的帮助,我们将不胜感激...
【问题讨论】:
-
将页面参数传递给编辑视图,然后使用页面参数的查询参数重定向到页面列表
-
@DimitrisKougioumtzis 谢谢你的回复..我明白你的意思..你能举个例子来说明如何实现它..??实际上,我首先想到了(根据您的回答),但对实现感到困惑..
标签: django django-views