0

これらの適度に大きく、常に成長しているテーブルがあり、最も興味深いものは常に最新のものです。現在は作成時期順に並べているので、面白いものは最後に。これには、ナビゲート時に 2 回のクリックが必要です。1 回目はモデルを選択し、もう 1 回目は最後のページを選択します。

もちろん、順序を変更して最新のものを先頭に配置することもできますが、新しいものが前面に押し出されると、ページの内容が絶えず変化し、履歴の調査が難しくなります。

それで、最後のページに直接移動する方法があるかどうか疑問に思っていましたか?

4

2 に答える 2

0

これはかなり特殊な要求ですがpage、URL にパラメーターがない場合 (つまり、フロントページにいる場合) は、管理ビューをリダイレクトできます。

from django.shortcuts import redirect
from django.core.urlresolvers import reverse
class MyAdmin(admin.ModelAdmin):
    ...
    def changelist_view(self, request, extra_context=None):
        if not request.GET.get("p", False):
            return redirect("%s?p=%s" % (
                reverse("admin:my_app__model__changeview"), 
                self.paginator.page_range[-1])
        super(MyAdmin, self).changelist_view(request, extra_context=extra_context)

別の方法としてp、制御を親メソッドに渡す前に URL パラメータをリクエストに挿入することもできますchangelist_view(ただし、これにはリクエストをコピーする必要があります)。編集Wouterのソリューションは実際には素晴らしくシンプルです

于 2012-12-11T13:41:28.567 に答える
0

change_listテンプレート(paginationブロック)を変更して表示できます{{page.last}}

https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/change_list.html

于 2012-12-11T13:41:43.833 に答える