Как перенаправить на другую страницу с контекстом, после размещения формы? - PullRequest
0 голосов
/ 26 июня 2019

После публикации моей формы я хочу перенаправить на другую страницу и отправить некоторые данные на эту страницу с контекстом. Мне нужно отправить строку и логическое значение на другую страницу, в зависимости от того, была ли запись в базу данных успешной или нет.

В моем представлении admin.html отображается, но URL не обновляется (он по-прежнему показывает страницу формы). Как я могу достичь этого

Я пытался поиграть с перенаправлением. возврат перенаправления (реверс ('app: view', kwargs = {'bar': FooBar})) Но пока не повезло.

def report_view(request):
    if request.method == 'POST':
        form = ReportForm(request.POST)
    if form.is_valid():
            report_title = form.cleaned_data['report_title']
            report_link = form.cleaned_data['report_link']
            new_report = Report(title = report_title, link = 
report_link)
            new_report.save()
            return render(request, 'dashboard/admin.html', {'title': 
Admin Page, 'added':True})

1 Ответ

0 голосов
/ 26 июня 2019

Вы не можете передать контекст с перенаправлением, хотя вы можете передать в качестве параметров URL:

redirect(reverse('app:admin', kwargs={ 'title': 'title','added':True }))

Если вы хотите визуализировать контекст, вы можете написать два представления:

Пример:

def view1(request, newContext=None) : 
 ..
 ..
 context = {
 ..
 }
 context.update(newContext)
 ..
 return render(request, "../../xyz.html", context=context)
def view2(request) : 
 ..
 context = {
 ..
 }
 ..
 response = view1(request, context)
 return response
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...