我知道可以使用 GET 参数知道您来自哪个 View 。引用:Django Redirect to previous view 。但是,如果您在当前 View 上执行 POST,此信息将被删除。
出于我的目的,我有一个 Django 应用程序,您可以从多个目的地访问相同的 View ,该 View 具有表单和后退按钮。一切正常,直到您提交表单,然后被重定向到相同的 View ,而没有任何有关您一开始来自哪里的信息。
如果需要任何示例来理解我的问题,请发表评论。
最佳答案
即使您使用POST
方法GET
您仍然可以使用参数:
<form action="{% if from %}?next={{ from }}{% endif %}" method="POST" />
然后在 View 中:
def some_view(request):
if request.method == 'POST':
form = SomeForm(request.POST)
...
next_url = request.GET.get('next')
...
此外,您可以省略 action
<form>
的属性标签,这样您就不必传递 from
模板的上下文变量:
<form method="POST" />
在本例中 GET
参数将在请求之间自动“保存”。
关于django - 在当前 View 上执行 POST 后记住您来自哪个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29999957/