首页 > 解决方案 > 更新后使用帖子参数发布后的django重定向

问题描述

我正在寻求帮助,但找不到任何合适的解决方案。我想问一下POST后的重定向。

情况逐步如下:

  1. 带有 POST 的简单搜索表单,其中包含名为“find”的参数。搜索表单出现在每个站点上,如果我使用设备在站点上调用搜索,我正在检查引荐来源,我正在查询设备型号字段,结果转到 devices.html 模板。同样的情况是当我在本地化站点中搜索时,检查引用者并查询本地化模型的模型字段并在本地化.html 模板中返回查询结果。

  2. 当我尝试更新设备时,当显示此模型的每个字段时,我将使用 url '/edit/device/dev_id' 打开新的编辑设备模板,以便我可以手动更新某些字段。

  3. 在编辑站点上提交更改后,设备 'post' 转到 url 'update/device/dev_id' 并正确保存对设备的更改。

问题是如何在更新设备后重定向到第一步,设备搜索视图的结果在哪里?如果我在更新('update/device/dev_id')设备后重定向到'request.META.get('HTTP_REFERER')'我得到'edit/device/dev_id' url?

值得一提的是,用于搜索表单的方法 POST 将文本搜索输入发送到 action="/search",然后在检查referrer 后显示结果,因此没有像'action="search/find" 这样的东西。我知道在网络浏览器中,我们可以多次单击以显示包含 POST 参数的搜索结果,但这不是重点。

如果您有任何想法如何在更新后重定向到搜索结果(方法 POST,1 分),请告诉我。

问候广告

我将尝试简化问题(要粘贴的代码太多):在模板中给出以下搜索:

  <form class="navbar-form navbar-left" action="/search" method="post">{% csrf_token %}
    <div class="form-group">
      <input type="text" class="form-control" name="find" placeholder="Search">

    </div>
    <button type="submit" class="btn btn-default" >Search</button>
  </form>

在views.py中:

def search_dev(request):
   to_find=request.POST.get('find') 
   (..)
   <--query updating_fields in instance considering only 1 search result-->
   redirect ? (to search query with POST )

仅考虑 1 个搜索结果,是否可以在对实例进行一些更改(例如更新)后返回搜索结果?

标签: djangodjango-viewsdjango-templates

解决方案


推荐阅读