【问题标题】:redirect to new page when the page is reloaded in django在 django 中重新加载页面时重定向到新页面
【发布时间】:2021-07-18 12:26:55
【问题描述】:

我正在使用 django 框架做一个 Web 应用程序。在我的应用程序的表单中,我需要在重新加载页面而不是在发布表单时转到或重定向到新页面。非常感谢社区的回答。

app.html

  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

  </head>
  <body>
  <form method="post">
    {% csrf_token %}
    #somecode
    <button type="submit" class="btn btn-primary">YES</button>
</form>
</body>
</html>

当此页面被重新加载或刷新时,我需要转到一个新页面(views.py 中的我的主页)

【问题讨论】:

    标签: javascript django


    【解决方案1】:

    在表单标签中使用这个在新标签中打开:

    【讨论】:

    • 但是当页面重新加载时它将如何工作?
    【解决方案2】:

    假设这是您的表单:

    form.html(模板名称)

    <form method="post">
        {% csrf_token %}
        #somecode
        <button type="submit" class="btn btn-primary">YES</button>
    </form>
    

    你有一个视图,你正在渲染这个模板。把这个视图写成:

    def viewname(request):
        if request.method=='POST':
            form=formname(request.POST)
            if form.is_valid():
                do_your_work
                return redirect('you another view from where you will render another template/page')
        else:
            form = formname()
        return redirect(request, 'form.html', {'form':form})
    

    【讨论】:

    • 我需要在页面重新加载时转到一个新页面,如果我提交该页面它将转到另一个页面。
    • 请问,您为什么要在“重新加载”时重定向用户而不是提交表单?
    • 顺便说一句,您可以看到这些链接。它可能会帮助你。 1.stackoverflow.com/questions/8013429/… 2.developer.mozilla.org/en-US/docs/Web/API/Window/load_event
    • 在我的应用程序中,如果用户刷新页面,警报脚本会重新加载,所以我认为最好在刷新时重定向到页面
    • 如果需要,您可以在刷新时停止提醒。
    猜你喜欢
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    相关资源
    最近更新 更多