我有一个 Django 应用程序,其中有一个 DetailView 页面。我还有一个分页的 ListView,还有一个由过滤器创建的(只有作者可以看到自己添加的记录)。我想在 DetailView 中显示的记录的 ListView 中拉一个位置。
我试过以下
position = BankAcType.objects.filter(author=self.request.user).order_by('-created_date').count()
但它给出了记录的总数,而不是 ListView 中特定记录的位置。
我需要位置的原因是我在列表视图中有“查看详细信息”按钮,该按钮用于 DetailView 以及 DetailView 内的更新和删除按钮。因此,如果用户转到详细视图,然后编辑某些内容,然后单击 DetailView 上的“返回”按钮,我希望她回到她所在列表中的同一页面,而不是转到 ListView 的第一页.
如果用户编辑了记录,HTTP 引用程序将不起作用,因为在这种情况下,用户将被带回 EditView。
我尝试在 DetailView 中执行以下操作。
class BankAcType_Detail(DetailView):
model = BankAcType
def get_context_data(self, **kwargs):
context = super(BankAcType_Detail, self).get_context_data(**kwargs)
position = BankAcType.objects.filter(author=self.request.user).order_by('-created_date').count()
page = str(int((position)/6)+1)
context ['page'] = page
return context
然后在模板中,我有以下后退按钮的代码。
<a href="/master/bankactype_list/?page={{page}}"><button style="background-color: #42c8f5; box-shadow: 10px 10px 25px -7px rgba(60,60,214,1.00); font-weight: bold; color: #054d05; float: left;">Back to List</button></a>