ホワイトボードにコメント機能を実装しようとしています。この機能により、学生はお互いの写真にコメントできます。
学生が仮想ホワイトボードを作成し、ホワイトボード内の宿題に関連する写真を投稿できるアプリを持っています。
ユーザーが特定の画像の下にあるコメントをクリックして表示したとき。コメントはその特定の画像に表示されますが、同じコメントがすべての画像に表示されますが、それも想定されていません。
私はコメント機能を実装する方法を見つけようとしていますが、これが私が思いついた唯一のアイデアです。写真とコメントを関連付ける方法を探しているので、この重複の問題を解決するにはどうすればよいでしょうか。
ホワイトボードを見る >
http://imageshack.us/photo/my-images/836/90792660.jpg/
私の whiteboard.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})
私のモデル.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)