2013-03-22 80 views
1

我试图在我的白板内部实现评论功能。该功能允许学生对彼此的图片进行评论。Django复制对象

我有一个应用程序,学生可以创建虚拟白板并在白板内张贴与作业相关的图片。

当用户单击以查看特定图片下的评论时。该评论确实出现在该特定图片上,但所有图片上都出现相同的评论,这也不是假设。

我一直在想办法实现评论功能,这是我唯一的想法。 我怎么能解决这个重复的问题,因为我的“M一直在试图想出一个办法来的图片与注释关联。

看看白板>

http://imageshack.us/photo/my-images/836/90792660.jpg/

我的白板。 HTML

{% if picture %} 
<ul> 
    {% for pet in picture %} 


     {% if pet.image %} 

    <a href ="{% url world:LikePicture pet.id %}"><br> 
     <img src= "{{ pet.image.url }}" style="cursor:pointer"></a> 
<br> 
    </a> 
</li> 
     {% endif %} 

<br> 
<a href="{% url world:CommentCreator pet.id %}">View Comment</a><br/> 
     {% for c in comment %} 
      <br>{{ c.body }}</li> 
      <br>{{ c.created}}</li> 
      <br>{{ c.user}}</li> 
{% endfor %} 
{% endfor %} 
       </ul> 
{% endif %} 

我views.py

def Boat(request ,animal_id): 
     if not request.user.is_authenticated(): 
      return HttpResponseRedirect(reverse('world:LoginRequest')) 

    picture = Picture.objects.filter(whiteboard=animal_id) 

    return render(request,'whiteboard.html',{'picture':picture}) 

def CommentCreator(request,picture_id): 
    p = Picture.objects.get(pk=picture_id) 
    comment = Comment.objects.filter(picture=p) 
    Whiteboard = WhiteBoard.objects.get(whiteboard=p) 
    the_id = board.id 
    picture = Picture.objects.filter(whiteboard=the_id) 

    return render(request,'whiteboard.html',{'picture':picture,'comment':comment}) 

我的models.py

class WhiteBoard(models.Model): 

    user = models.ForeignKey(User) 
    name = models.CharField(max_length=100) 
    picture = models.OneToOneField('Picture',related_name='picture',blank=True,null=True) 
    def __unicode__(self): 
     return self.name 

class Picture(models.Model): 
    user = models.ForeignKey(User) 
    Whiteboard = models.ForeignKey(WhiteBoard,blank=False,null=False,related_name='board') 
    image = models.FileField(upload_to="images/",blank=True) 
    description = models.TextField() 
    is_primary = models.BooleanField(default=False) 

    def __unicode__(self): 
     return self.description 
class Comment(models.Model): 
    created = models.DateTimeField(auto_now_add=True) 
    user = models.ForeignKey(User) 
    body = models.TextField() 
    picture = models.ForeignKey(Picture) 

回答

0
<a href="{% url world:CommentCreator pet.id %}">View Comment</a><br/> 

{% for c in comment %} 
    {% ifequal c.picture.id pet.id %} 
     <br>{{ c.body }}</li> 
     <br>{{ c.created}}</li> 
     <br>{{ c.user}}</li> 
    {% endifequal %} 
{% endfor %} 
+0

它完美地工作,谢谢。如果我想关闭评论。喜欢再次点击它隐藏。我会怎么做? – lilbear22 2013-03-22 05:27:53

+0

你最好应用jscript的 – catherine 2013-03-22 05:28:54

+0

最好是如果你问另一个问题:) – catherine 2013-03-22 05:30:02