1

我正在为我的 django 项目使用无休止的分页。在我将记录显示为报告的页面上,一切正常。

但是,当我在记录中包含一些“操作”时,我遇到了问题。

例如,我的表格行显示信息,并有额外的列让用户编辑表格。

{% extends "base/home.html" %}
{% load endless %}

{% block maincontent %}

{% paginate 5 atlist %}

<table> class="table">
    {% for rec in atlist %} 
    <tr>

    <!-- ... Headers ... and other columns code taken out .... -->

    <td>
        <button class="btn btn-primary btn-sm" onclick="location.href='/secure/editmytypes?ID={{rec.uuid}}'">Edit</button>
        <button class="btn btn-primary btn-sm" onclick="location.href='/secure/deletemytypes?ID={{rec.uuid}}'">Delete</button>
    </td>
    </tr>
    {% endfor %}
</table>

{{ pages.previous }} {{ pages.next }}
{% endblock %}

第一次加载上述模板时,{{ pages.previous }} {{ pages.next }} 会显示正确的链接,例如

"/list?page=2" 

如果我只进行下一页/上一页导航,则行为正常。

但是,当用户连续单击编辑链接(编辑按钮)以转到编辑表单时 - 执行操作并返回此列表(表单都保存数据并将控制权转移回此列表){{页面。上一个 }} {{ pages.next }} 链接变为

"/secure/editmytypes?ID='..uuid...'&pages=2"  

或者

"/secure/deletemytypes?ID='..uuid...'&pages=2" 

有没有人有我可以使用的指针?

提前致谢。

4

1 回答 1

0

更改我的编辑方式将控制权返回到此列表表单对我来说是诀窍。

我在做

# return render(request,'base/list_mytypes.html',{'atlist':mytypeslist,},)

这是问题所在..我将其更改为

return redirect('/secure/listmytypes',{'atlist':mytypeslist,},)

现在突然页面链接是正确的!

在这方面进行一些研发,因为我认为这两个快捷方式基本上都能达到相同的效果(我知道它们返回不同的 HttpResponse 对象,但这不应该对其他页面中的 url 产生任何影响 - 除非我在这里遗漏了一些东西)。

于 2014-08-06T14:24:14.547 回答