2013-03-22 2 views
1

Я пытаюсь реализовать функцию комментариев внутри своей доски. Функция позволяет студентам комментировать друг друга.Django Объекты дублирования

У меня есть приложение, где учащиеся могут создавать виртуальную доску и публиковать фотографии, связанные с домашней работой внутри досок.

Когда пользователь нажимает, чтобы просмотреть комментарий по определенному изображению. Комментарий отображается на этом конкретном изображении, но тот же комментарий появляется на всем снимке, который он тоже не допускает.

Я пытаюсь выяснить способ реализации функции комментариев, и это единственная идея, которую я хочу. Как я могу решить эту проблему дублирования, потому что я "м пытается выяснить способ связать картину с комментариями.

Посмотрите на доску>

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

Он работает отлично, спасибо. Если я хочу закрыть комментарий. LIke нажмите его еще раз, чтобы скрыть. Как мне это сделать? – lilbear22

+0

вам лучше применить jscript на том, что – catherine

+0

лучше, если вы зададите еще один вопрос: – catherine

Смежные вопросы