2010-07-16 67 views
0

好了,现在我知道如何作为一个列表上的一个/ myurl显示图像/在Django(YEAH!)Django的图像显示

但我怎么能显示每个URL一个图像与一个按钮,点击下一个图像等

所以基本上我希望来到第一/ urlstart /:

文本和下一个按钮。

将用户带到例如/ urlstart/1

显示列表的第一个图像,并在其下方显示一个按钮。

这使向/ urlstart/2

这里列表的下一个图像被显示用户。

怎样的url.py正则表达式的部分都看起来像,所以这是可能的吗? 如何调整视图来获得1个图像列表,但多个网址?

最后,如果有人用可下载和可安装的模块/库实现了这一点, photologue(很不幸没有为我工作)或更好的想法,我会很乐意得到一些关于如何使这个快速和有效的见解。

非常感谢大家花时间回答!

回答

1

URL的正则表达式可能是这个样子:

url(r'^urlstart/(?P<image_id>\d*)/?$', 'urlstart', name='urlstart') 

查看代码可能是这个样子:

def urlstart(request, image_id=0): 
    if image_id == 0: 
    image = None 
    else: 
    image = get_object_or_404(Image, image_id) 
    next_image = image_id + 1 

    return render_to_response('template.html', locals(), context_instance=RequestContext(request) 

模板代码:

{% if image %} 
    <img src={{ image.url }}> 
    <a href="/urlstart/{{ next_image }}">Next</a> 
{% else %} 
    Put your text here. See first image by clicking <a href="/urlstart/1">here</a> 
{% endif %} 

显然,这被简化。例如,您可能需要检查是否有下一张图像。

希望这会有所帮助。

+0

您应该使用{%url%}模板标记来避免模板中的硬编码网址。 – 2010-07-18 11:24:57

+0

非常感谢。这太棒了,我会立即尝试。现在有一个问题。正则表达式部分(?P \ d *)/?$必须改变,以适应或如果我使用你的代码下面的工作? – MacPython 2010-07-19 07:16:16

+0

另一个问题我在哪里提到我的照片在硬盘上的位置? – MacPython 2010-07-19 07:24:54

0

看看Pagination这将为您提供下一首/上链接等

而且,它很可能是一个好主意,用permalinks,并从视图而不是在传递一个/上一个图像将URL硬编码到模板中。