Я недавно столкнулся с подобной проблемой.
По сути, у меня была форма A, после ее отправки появится другая форма B, которая содержит некоторые результаты + форму. После отправки сообщения B я хотел отобразить некоторое предупреждение для пользователя и оставить пользователя только на B.
Я решил это путем отображения результатов в поле <output>
, в B.
<output name="xyz" value="xyz">{{xyz}}</output>
И я использовал одно и то же представление для A-> B и B-> B. Теперь мне просто нужно было различить, исходит ли запрос от A или B, и отрисовать соответственно.
def view1(request):
if "xyz" in request.POST:
# request from B
# do some processing
return render(request, 'page.html', {"xyz":request.POST["xyz"]})
else:
# request from A
res = foo() # some random function
return render(request, 'page.html', {"xyz":res})
Но это работает, только если форма B маленькая и не такая динамическая.