2010-08-11 22 views
0

我想要一個「分頁」,每頁有一個圖像。我目前的代碼粘貼在下面。 Unfortunatley現在我得到每個分頁的所有圖像。這已經是朝着正確方向邁出的一步,但不是我想要的。分頁Django One圖片

我怎樣才能每頁只有一個圖像,例如我的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> 

回答

0

你定義urllist在您的視圖代碼太早,你已經通過有限的停機網址,你的循環列表之前你的模板。嘗試:

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_URL }},而不是硬編碼的路徑,網站,媒體的意見會更好,並在視圖中我可能不會產生urllist在所有,並在模板中循環使用stimular.object_list

+0

非常感謝您的快速回答,但不幸的是,這並沒有改變這個問題。我也嘗試過你的版本:刺激中的url%url。但是這給了我一個例外。 – MacPython 2010-08-11 14:28:33

+0

您能否解釋我應該如何以及在哪裏插入{{MEDIA_URL}} – MacPython 2010-08-11 14:30:57

+0

@MacPython - 如果您在分配urllist的行之前打印出'stimuli.object_list',您會得到什麼? – 2010-08-11 14:47:40