2012-08-30 28 views
1

我一直在试图在图像缩略图上放置一个超链接,这将使用户获得完整尺寸的图像。但我不断收到错误。Django - 在单独页面上加载完整图像

这里

,因为它表明,scribblemedia是乱涂

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一个ForeignKey .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 %} 

它不断给我下面的错误:

TemplateSyntaxError在/图像/ 2/ 未封闭标签'if'。寻找其中一个:elif,else,endif

+0

:)是啊我只是等待stackoverflow让我接受你的答案。他们希望我在接受之前等待10分钟。我不知道为什么 – sankaet

回答

4

您的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 --> 
+0

我很抱歉!我只是把我的头发拉了两天,我看不到我失踪的一件简单的事情。我真的很感激:)谢谢! – sankaet

+0

不用担心。也发生在我身上。 – Dave

相关问题