首页 > 解决方案 > Django 以模态形式重定向 URL

问题描述

我是 Django 新手,所以我创建了一个delete_orders模态表单,现在我想在删除订单后重定向到真实路径。

views.py是这样的:

def deleteOrder(request, order_id):
    order_item = Order.objects.get(id=order_id)
    customer = order_item.customer.username

    url = request.META['HTTP_REFERER']
    parsed_url = urlparse(url)
    url_path = parsed_url.path

    if '/panel/profile/' in url_path:
        url_path = '/panel/profile/' + customer

    if request.method == 'POST':
        order_item.delete()
        return redirect(url_path)

    context = {'order_item': order_item}
    return render(request, '', context)

urlpatterns的是:

path('<int:order_id>', views.deleteOrder, name='delete_order'),

我想知道做这项工作是否是一种好习惯,还是我们有其他标准解决方案?

标签: pythondjangoredirectpopupbootstrap-modal

解决方案


通过传递视图的名称和可选的一些位置或关键字参数;URL 将使用 reverse() 方法进行反向解析:

def my_view(request,order_id):
...
return redirect('deleteOrder', order_id=order_id)

有关更多信息的文档: https ://docs.djangoproject.com/en/3.0/topics/http/shortcuts/#examples


推荐阅读