【问题标题】:How can I get django redirect to work when using jquery mobile?使用 jquery mobile 时如何让 django 重定向工作?
【发布时间】:2011-11-29 01:24:36
【问题描述】:

我之前发布了一个关于为什么 django 重定向无法正常工作的问题,但很快将其删除,因为我发现当我将 jquery mobile 排除在等式之外时,django 工作正常。

我有一个表格,我以通常的方式在 django 中提交和修改。这工作正常。提交表单后我想重定向到不同的 url 时出现问题。

当我在没有 jquery mobile 的情况下执行此操作时,我只是用户:

response("myurl")

效果很好,但是当我使用 jquery mobile 时,我被重定向到正确的页面,但浏览器 url 没有改变。

这会导致各种问题,因为我在我的 django url 正则表达式中使用了变量,如果没有正确的 url,则无法正常工作。

有没有其他人在同时使用 jquery mobile 和 django 时遇到过类似的问题?如果是这样,你做了什么?如果做不到这一点,任何人都可以解释为什么会这样吗?

【问题讨论】:

  • 你试过HttpResponseRedirect吗?
  • HttpResponseRedirect 结果相同。

标签: jquery django redirect jquery-mobile django-views


【解决方案1】:

经过大量的搜索后,我最终回到了关于 stackoverflow 的一个问题,我没有发现它,因为它只是被标记为一个 jquery 问题,并且在标题中也没有提到 django。

error-with-redirects-in-jquery-mobile

这建议指定data-url来设置url。

在我的网站基础模板文件中,我使用这样的代码块标记设置了 data-url:

        <div id="page" name="page" data-role="page" data-url="{% block data-url %}/root/{% endblock %}" class="type-interior">

然后在单个页面模板中,我可以设置为指定这样的 url:

        {% block data-url %}/root/myurl/{% endblock %}"> 

我不确定这是否是最佳解决方案,因为这当然意味着我必须在每个模板中包含 data-url 块,但它确实有效

【讨论】:

  • 为什么不直接将&lt;div data-role="page" data-url="{{ request.get_full_path }}"/&gt; 添加到基本模板中?我让它像那样工作。
猜你喜欢
  • 1970-01-01
  • 2017-04-16
  • 2012-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多