从Django视图打开一个新标签页的命令

5

我有一个提交表单,在提交时会执行一些复杂的过程,然后在 Django 视图中我有以下代码:

return redirect('match:finding', ...)

我可以在视图中添加一些内容,使得这个重定向不是在提交表单的页面上进行,而是在新标签页中进行吗?就像保留表单标签页不变,然后打开一个新窗口继续操作。

在HTML模板中,它看起来像这样:

<div class="form-input">
<input id="app-submit" type="submit" value="{% if credit_card %}Get Started{% else %}Loan{% endif %}"/>
</div>

我不能只是添加一个带有target="_blank"的a/span标签或者window.open('url', 'new window'),因为URL将在实际点击提交按钮后生成。

1个回答

11
在您的表单中添加target="_blank"属性[1]。由于您正在重定向,因此在提交后生成的网址并不重要。
示例设置可能会类似于以下内容:
-- views.py
def ex_form_view(request):
    ...
    return redirect('...', ...)

-- urls.py


-- urls.py
 url(r'^ex_form', views.ex_form_view, name='example')

-- 模板.html

 <form action="ex_form" target="_blank">
   <input id="app-submit" type="submit" value="{% if credit_card %}Get Started{% else %}Loan{% endif %}"/>
 </form>

[1] https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/form#Attributes


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接