django - 在当前 View 上执行 POST 后记住您来自哪个 View

标签 django forms redirect web get

我知道可以使用 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/

相关文章:

PHP的表单括号技巧是对Django的___?

django - 如何在模板中显示 django 搜索结果

javascript - 检查提交的电子邮件格式是否正确

html - tabindex ="xxxx"何时中断?

Django django-smart-select : get TemplateSyntaxError during adding of data in admin site

python - celery 运行作为守护进程停止

javascript - 使用 ng-disabled 的几个条件

php - 如何在启动应用程序之前检查 Facebook 用户 ID 是否已经存在?

redirect - laravel 重定向到在白屏中显示一条消息

java - 如何使用 urlRewriteFilter 永久重定向带参数的 JSP?