0

データベースから 50 以上のオブジェクトを取得する必要があるため、読み込みに時間がかかりすぎるページがあります。たとえば、最初の 10 件の結果のみをページにロードし、サーバーが残りをバックグラウンドでロードしてから、ページを更新したいと考えています。

次のような方法はありますか:

def foo_view(request):
    values = Foo.objects.all()[:10]
    render_to_response(template, values, context_instance=...)
    values = Foo.objects.all()
    return render_to_response(template, values, context_instance=...)

それとも、これはajaxの仕事ですか?(ページが読み込まれるとすぐにデータを再読み込みします。)

ありがとう!

編集:

長いロード時間の原因について私が誤解していたことが判明しました。実際には、データベースから 50 ~ 100 個のオブジェクトを取得しても、遅延はほとんど発生しません。ビュー関数で 1 回呼び出して、結果をテンプレートに渡す必要があるときに、n 個のアイテムに対して n^3 個のデータベース ヒットが発生するメソッドがテンプレートにありました。

4

1 に答える 1

0

AJAX はあなたのソリューションです。ページに最初の 10 個のオブジェクトを追加します。次に、ユーザーが下にスクロールすると、別の 10 などを取得します。ツイッターのように。またはページネーションを使用しますか?:)

于 2012-07-16T13:48:09.900 に答える