发布表单后,我想重定向到另一个页面,并使用上下文将一些数据发送到该页面。我需要向另一个页面发送字符串和布尔值,具体取决于到数据库的发布是否成功。
使用我的视图,呈现了admin.html,但URL未更新(它仍然显示表单页面)。我该如何实现
我尝试使用重定向。 返回重定向(reverse('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})
答案 0 :(得分:0)
尽管可以作为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