【问题标题】:Django - Loading a full image on separate pageDjango - 在单独的页面上加载完整图像
【发布时间】:2012-08-30 14:48:52
【问题描述】:

我一直在尝试在我的图像缩略图上放置一个超链接,以将用户带到一个完整尺寸的图像。但我不断收到错误消息。

这里显示,scribblemedia 是一个用于涂鸦的 ForeignKey

models.py

class ScribbleMedia(models.Model):
     media = models.FileField(upload_to=get_file_path)
     def __unicode__(self):
      return self.media
     def find_typecheck(self):
        filename = self.media.name
        try:
           ext = filename.split('.')[-1]
           imgcheck=['jpg','jpeg','png','gif','tiff','bmp']
           if ext in imgcheck :
              chk='image'
           else:
              chk='other'
        except Exception:
           chk='not supported'
        return chk

class Scribble(models.Model):
     title = models.CharField(max_length=120)
     body = models.TextField()
     user = models.ForeignKey(User)
     media = models.ForeignKey(ScribbleMedia)
     def __unicode__(self):
      return u'%s, %s' % (self.user.username, self.media)

views.py

@login_required
def image_page(request,pk):
    img=get_object_or_404(ScribbleMedia,pk=pk)
    image=img.media
    variables= RequestContext(request,{
    'image': image
    })
    return render_to_response('image_page.html',variables)

urls.py

(r"^image/(\d+)/$", image_page),

image_page.html

{% if  image %}
    <img src= {{ image.url }} />

这是图片缩略图可用的页面

scribble_page.html

{% if scribble.media.media %}
                {% if scribble.media.find_typecheck == 'image' %}
                    {% thumbnail scribble.media.media.url "700x500" crop="center" as im %}
                            <a href="/image/{{ scribble.media.pk }}/" target="_blank"><img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"></a>
                    {% endthumbnail %}
                {% else %}
                    do something else
                {% endif %}
            {% endif %}

它一直给我以下错误:

/image/2/ 处的模板语法错误 未封闭的标签“如果”。寻找其中之一:elif、else、endif

【问题讨论】:

  • :) 是的,我只是在等待 stackoverflow 让我接受你的回答。他们要我等 10 分钟左右,然后我才接受。我不知道为什么

标签: python django


【解决方案1】:

scribble_page.html 中的 if 语句很好。您需要在 image_page.html 模板中关闭 if 块...

{% if  image %}
  <img src="{{ image.url }}" /> <!-- Also note the added quotations... -->
{% endif %}  <!-- This is the line you need to add -->

【讨论】:

  • 非常抱歉!我只是把头发拉了两天,我看不出我错过了什么简单的东西。我真的很感激 :) 谢谢!
  • 不用担心。我也遇到过。
猜你喜欢
  • 2021-01-23
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 2019-09-29
  • 2021-11-15
相关资源
最近更新 更多