分页Django One图像

分页Django One图像,django,pagination,Django,Pagination,我想有一个分页,我会有一个每页的图像。我当前的代码粘贴在下面。 不幸的是,现在我在每一页上都看到了所有的图片。这已经朝着正确的方向迈出了一步,但并不是我想要的 我怎么能每页只拥有一个图像,例如我的os.listdir的图像1,并在其下方链接到该os.listdir中的下一个图像 views.py def p_main_page(request): stimuli_list=os.listdir('/Users/Me/Images') p = Paginator(stimuli_l

我想有一个分页,我会有一个每页的图像。我当前的代码粘贴在下面。 不幸的是,现在我在每一页上都看到了所有的图片。这已经朝着正确的方向迈出了一步,但并不是我想要的

我怎么能每页只拥有一个图像,例如我的os.listdir的图像1,并在其下方链接到该os.listdir中的下一个图像

views.py

def p_main_page(request):
    stimuli_list=os.listdir('/Users/Me/Images')
    p = Paginator(stimuli_list, 1)
    urllist = ['/site_media/Images/%s' % url for url in stimuli_list]
    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1
    try:
        stimuli = p.page(page)
    except (EmptyPage, InvalidPage):
        stimuli = p.page(p.num_pages)
    return render_to_response('stimulilist.html', {"stimuli": stimuli,
                                                "urllist": urllist})
模板:

<html>

<head>
<title> Stimuli </title>
</head>

<body>

<p>
{% for url in urllist %}

<img src='{{ url }}' />

{% endfor %}

</p>

<div class="pagination">
    <span class="step-links">
        {% if stimuli.has_previous %}
            <a href="?page={{ stimuli.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ stimuli.number }} of {{ stimuli.paginator.num_pages }}.
        </span>

        {% if stimuli.has_next %}
            <a href="?page={{ stimuli.next_page_number }}">next</a>
        {% endif %}
    </span>
</div>

<body>
</html>
您在视图代码中定义URL列表的时间太早,还没有限制在模板中循环的URL列表。尝试:

def p_main_page(request):
    stimuli_list=os.listdir('/Users/Me/Images')
    p = Paginator(stimuli_list, 1)
    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1
    try:
        stimuli = p.page(page)
    except (EmptyPage, InvalidPage):
        stimuli = p.page(p.num_pages)
    urllist = ['/site_media/Images/%s' % url for url in stimuli.object_list]
    return render_to_response('stimulilist.html', {"stimuli": stimuli,
                                                "urllist": urllist})

顺便说一句,您最好在模板中使用{MEDIA\u URL}},而不是在视图中硬编码站点媒体的路径,我可能根本不会在视图中生成URL列表,而只是在模板中循环使用stimulator.object\u列表。

非常感谢您的快速回答,但不幸的是,这并没有改变问题。我还尝试了你的版本:%url,用于刺激中的url。但这给了我一个例外。你能解释一下我应该如何和在哪里插入{{MEDIA_URL}}@MacPython吗?如果你在URL列表指定的行之前打印出刺激。object_list]会得到什么?对不起。我不明白这个问题。我认为object_list是我必须从数据库查询数据的时候。打印出来你到底是什么意思?对不起,我的无知。再次感谢你的帮助。对不起。没有看到您所做的更改。这为我做到了:%url为stimuli.object\u列表中的url。你是主人!