Можно ли в django подключить строковую переменную в return redirect()?
У меня есть ситуация, когда я создаю запись из представления
def index(request):
if request.method == "POST":
order_number = request.POST.get('order_number')
post_code = request.POST.get('post_code')
print(order_number)
print(post_code)
if order_number and post_code:
n = page1.objects.create(orderNumber=order_number, postCode=post_code)
n.save()
id = n.id
return redirect("page1:waiting")
return render(request,"page1/index.html")
После создания записи я перенаправляю пользователя на другую страницу с id.
127.0.0.1/page1/waiting/fb65-io98-.....
from django.urls import path
from . import views
app_name = 'page1'
urlpatterns = [
path('', views.index, name="amounts"),
path('waiting/<str:pk>', views.waitReply, name="waiting"),
]
Вид для второго URL
def waitReply(request,pk):
get_amount = page1.objects.get(id=pk)
context = {'get_amount':get_amount}
return render(request, "page1/payment-confirm.html", context)
Но проблема в том, как мне прикрепить/генерировать/получить id в index
представлении и отправить его для waitReply
представления
Я могу получить последний ID через n.id
Любезная помощь.
Используйте обратное действие с args в HttpResponseRender.
return HttpResponseRender(reverse('page1:waiting' args=[id]))