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
填充了一系列数字时,才会触发视图