English 中文(简体)
django-dev/prod environment之间的奇怪模板缺陷
原标题:django - strange template loop failure between dev/prod environment
  • 时间:2009-11-04 07:51:15
  •  标签:

在一个需要图像包裹的场地上,我马上工作。 由于该网站相当简单,我选择不使用数据库。 在彩虹方面,我认为,我有一 lo,读到图像夹中的所有图像档案,并将其发送到模板中,在座右边:

import os
from django.shortcuts import render_to_response

def show_pics(request):
    """sends a list of files to the view"""
    folder =  /static/images 
    files = [os.path.join(folder, f) for f in os.listdir(folder) if  .jpg  in f]
    return render_to_response( gallery.html , {  files  : files })

和模板:

<div id="gallery">
    {% for file in files %}
        <img src="{{ file }}" class="gallery-image" />
    {% endfor %}
</div>

这种做法在发展模式中发挥了巨大作用(我设置了ur,以提供静态文件/静态文件),但当我上台到我的网络服务器时,图像就被打上了。 当我看一下已久的html时,这是我得到的:

<div id="gallery">  </div>

我通过试图通过静态陶器(,确保网上服务器的固定陶器的静态陶器。 我也许应该说,生产服务器的运行是Python2.5,而Im的运行是2.6(二者都有django 1.1)。 任何想法?

最佳回答

在模板中,可以安全地假设<代码>files。 可以通过在模板中填入<条码>{{>文档><>>/代码>来确认这一点,并查看其印刷内容。 很可能没有。

然而,这方面可能的问题很少:

folder =  /static/images 
files = [os.path.join(folder, f) for f in os.listdir(folder) if  .jpg  in f]

第一,道路os。 名单上的人不是你的文件根基,而是档案系统根基。 因此,如果您在服务器上填写<代码>ls /static/images,那么该编码就显示什么?

作为小事,我更喜欢使用<代码>f.ends with(jpg )。

问题回答

我猜测,原因就是你的文件清单空洞。 您是否检查过你 d的 d子/静脉/ages子?





相关问题
热门标签