gpt4 book ai didi

django 重定向到另一个带有上下文的 View

转载 作者:行者123 更新时间:2023-12-01 07:51:06 25 4
gpt4 key购买 nike

我有这个看法

def foo(request):

context['bar'] = 'FooBar'

return redirect('app:view')

有什么方法可以包含这个 context['bar']当我重定向到 'app:view' ?我最后的手段和替代方法是使用 render()但是,我不想再次定义所有上下文变量。有没有其他方法可以解决这个问题?

最佳答案

我会使用 session 变量来通过重定向传递一些上下文。这是除了将它们作为 url 的一部分传递之外的唯一方法,它是推荐的 django 选项。

def foo(request):
request.session['bar'] = 'FooBar'
return redirect('app:view')

#jinja
{{ request.session.bar }}

指出了一个潜在的缺陷,而 session 变量在 future 的请求中被错误地使用,因为它在整个 session 期间持续存在。如果是这种情况,您可以很容易地在将来的 View 中通过添加再次使用它来规避此问题。
if 'bar' in request.session:
del request.session['bar']

关于django 重定向到另一个带有上下文的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51155947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com