Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何重定向到具有pk的页面_Django_Django Views_Django Templates - Fatal编程技术网

Django 如何重定向到具有pk的页面

Django 如何重定向到具有pk的页面,django,django-views,django-templates,Django,Django Views,Django Templates,我有这个功能 def edit_profile(request): if request.method == 'POST': form = EditProfileForm(request.POST, instance=request.user) if form.is_valid(): form.save() return redirect('/profile') else: form = EditProfileForm(instance=

我有这个功能

def edit_profile(request):
if request.method == 'POST':
    form = EditProfileForm(request.POST, instance=request.user)

    if form.is_valid():
        form.save()
        return redirect('/profile')
else:
    form = EditProfileForm(instance=request.user)
    args = {'form': form}
    return render(request, 'store/edit_profile.html', args)
def view_profile(request, pk):
 data = cartData(request)
cartItems = data['cartItems']
shippingAddress = ShippingAddress.objects.get(id=pk)
# orderItem = OrderItem.objects.get(id=pk)

args = {'user': request.user, 'cartItems': cartItems, 'shippingAddress': shippingAddress}  # 'orderItem': orderItem
return render(request, 'store/profile.html', args)
我希望它重定向到这个函数

def edit_profile(request):
if request.method == 'POST':
    form = EditProfileForm(request.POST, instance=request.user)

    if form.is_valid():
        form.save()
        return redirect('/profile')
else:
    form = EditProfileForm(instance=request.user)
    args = {'form': form}
    return render(request, 'store/edit_profile.html', args)
def view_profile(request, pk):
 data = cartData(request)
cartItems = data['cartItems']
shippingAddress = ShippingAddress.objects.get(id=pk)
# orderItem = OrderItem.objects.get(id=pk)

args = {'user': request.user, 'cartItems': cartItems, 'shippingAddress': shippingAddress}  # 'orderItem': orderItem
return render(request, 'store/profile.html', args)
URL

path('profile/<str:pk>/', views.view_profile, name="view_profile"),
path('profile/edit', views.edit_profile, name='edit_profile'),
路径('profile/',views.view\u profile,name=“view\u profile”), 路径('profile/edit',views.edit_profile,name='edit_profile'), 我希望第一个函数重定向到第二个函数,但我得到了“未找到页面”
我知道pk的问题。因此,我希望它重定向到profile/id。有办法解决它吗?

将其作为参数传递:

def edit_profile(request):
    if request.method == 'POST':
        form = EditProfileForm(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            return redirect('view_profile', pk=request.user.pk)
    else:
        form = EditProfileForm(instance=request.user)
        args = {'form': form}
        return render(request, 'store/edit_profile.html', args)
只有在为
pk
填充了一系列数字时,才会触发视图