2016-11-21 4 views
1

私の削除メッセージリンクが表示されるように私のコードに何が間違っているかわかりません。すべての援助は非常に高く評価されます。削除ボタンリンクをdjangoに表示することができません

views.py

def remove_message(request, message_id): 
    Message.objects.filter(id=message_id, user=request.user).delete() 
    return redirect(reverse('dashboard:show', args=user_id)) 

show.html

{% for message in messages%} 
    <div class="message"> 
     <p class='bg-primary wall_content'><strong>{{message.messageuser.first_name}} wrote:</strong></p> 
     <p class='wall_content'>{{message.message}}</p> 
     {% if message.id == request.user %} 
     <a href='{% url "dashboard:remove_message" message.id %}'>Delete Message</a> 
     {% endif %} 
    {% endfor %} 

メッセージモデル:

class Message(models.Model): 
    message = models.CharField(max_length=1000) 
    walluser = models.ForeignKey(User, related_name='userwall') 
    messageuser = models.ForeignKey(User, related_name='usermessage') 
    created_at = models.DateTimeField(auto_now_add = True) 
    updated_at = models.DateTimeField(auto_now = True) 
+0

は、我々がより良い方法であなたを助けることができる私たちのすべてのentries.Thenとメッセージモデルのコードを表示します。 –

+0

sorryはメッセージモデルを編集しました。 – Jives

+0

私の答えを更新して、確認してください。 –

答えて

4

問題があれば条件で、あなたのテンプレートコードである:

{% if message.id == request.user %} 
をからrequest.userことは必ずしも等しくないでmessage.idここ

ですから、この状態を確認し、あなたに応じて、あなたのコードを更新する必要がありますモデル。このような 何か:

{% for message in messages %} 
<div class="message"> 
    <p class='bg-primary wall_content'><strong>{{message.messageuser.first_name}} wrote:</strong></p> 
    <p class='wall_content'>{{message.message}}</p> 
    {% if message.messageuser.id == request.user.id %} 
    <a href='{% url "dashboard:remove_message" message.id %}'>Delete Message</a> 
    {% endif %} 
{% endfor %} 
+0

そして、1よりも怠け者であるために、1は – Pythonista

+0

@Pythonista Ha ha..Good one:D –

2

message.idrequest.userオブジェクト

に等しいことになるとは考えにくいです
関連する問題