从 django 视图中打开新选项卡的命令

Posted

技术标签:

【中文标题】从 django 视图中打开新选项卡的命令【英文标题】:Command to open a new tab from django views 【发布时间】:2017-05-02 14:08:06 【问题描述】:

我有一个提交表单,在提交时正在执行一些复杂的过程,然后在 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" 或 window.open('url', 'new window') 的/span 标签,因为实际点击提交按钮后会生成 url。

【问题讨论】:

【参考方案1】:

在您的form [1] 中添加target="_blank" 属性。既然是重定向,那么提交后是否生成url都没有关系。

示例设置有点像这样:

-- views.py

def ex_form_view(request):
    ...
    return redirect('...', ...)

-- urls.py

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

-- template.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/en-US/docs/Web/HTML/Element/form#Attributes

【讨论】:

以上是关于从 django 视图中打开新选项卡的命令的主要内容,如果未能解决你的问题,请参考以下文章

从任何其他选项卡的视图控制器中弹出第二个选项卡的根视图(默认)

保存选项卡的最后状态

如何打开专注于服务选项卡的Apple Maps? (网址方案)

iOS:Tabbar - 加载选项卡的默认状态

popBack 到选定选项卡的第一个视图控制器

javascript如何实现浏览器选项卡的切换?