订单权限

按道理用户在访问order_detail的url时只能看到属于自己的订单,而中间件只是判断了用户没有登录情况下不能访问,而没有考虑到权限问题。

解决方案:
views:

# 订单详细视图
def order_detail(request):
    # 获取orderid
    order_id = request.GET.get('orderid')
    # print(order_id)
    # 判断订单是否属于该用户
    order_if_exist = Order.objects.filter(o_user=request.user).filter(pk=order_id).filter(o_status=ORDER_STATUS_NOT_PAY)
    if order_if_exist:
        order = Order.objects.get(pk=order_id)
        data = {
            'title': '订单详情',
            'order': order,

        }
        return render(request, 'order/order_detail.html', context=data)
    else:
        return redirect(reverse('peiqi1:mine'))

用order_if_exist

最后修改:2024 年 03 月 13 日
如果觉得我的文章对你有用,请随意赞赏