私はニュース記事用のDjangoアプリを持っています。最初に6つの記事を読み込み、ユーザーがそれらをスクロールすると、新しい6つの記事が自動的に読み込まれます(twitterスタイルの無限スクロール)。エンドレススクロールを実装するためにDjangoビューから新しいオブジェクトを引き出す方法は?
私はthisパッケージを見つけましたが、廃止予定です。
これは図である。
def index(request):
context_dict = {}
articles = Article.objects.order_by('-pub_date')[:6]
context_dict['articles'] = articles
context_dict['title'] = "title "
context_dict['endless_scroll_token'] = '/home/'
return render(request, 'obj_name/index.html', context_dict)
これは、javaスクリプト/ AJAXコードです:
<script>
function yHandler(){
var wrap = document.getElementById('body_panel');
var contentHeight = wrap.offsetHeight;
var yOffset = window.pageYOffset;
var y = yOffset + window.innerHeight;
if(y >= contentHeight){
var ourRequest = new XMLHttpRequest();
var token = {{endless_scroll_token}};
if(token == "/home/")
{token = '/';}
ourRequest.open('GET', token);
ourRequest.send();
ourRequest.onload = function(){
var ourData = ourRequest.responseText;
wrap.innerHTML += ourData
};
}
}
window.onscroll = yHandler;
</script>
問題は、この方法は、同じ6件の記事が何度もロードされていることです。どのように私は6 新しいの記事を毎回引きますか?
ありがとうございます!
私はツイッタースタイルの無限スクロールをしたいと思います。私は私の質問を編集しました。 – Seio
これは同じことですが、ユーザーがページの一番下までスクロールするときに新しいページを尋ねる必要があります。 – eugene