【发布时间】:2021-08-21 00:17:47
【问题描述】:
几天前我开始学习 Django,在做一个项目时遇到了一个情况。 在views.py中,我通过了
def chat_rooms(request):
context = dict()
context['title'] = 'Chat'
rooms = Chat_rooms.objects.filter(Q(user1 = request.user.id) | Q(user2 = request.user.id) )
context['rooms'] = rooms
for room in rooms:
rmssg = Chats.objects.filter(room_id = room.id)
lmssg = Chats.objects.latest('id')
context[str(room.id)] = lmssg
return render(request,'previlageGroup/chat_rooms.html',context)
在 Django 模板中,chat_room.html
{% for room in rooms %}
<div class="card" style="width: 100%;">
<a href="{% url 'pgroup:chat.screen' room.id %}">
<div class="card-body">
<p class="card-text">
{{ {{room.id}}.message}}
</p>
</div>
</a>
</div>
{% endfor %}
在models.py中
class Chat_rooms(models.Model):
user1 = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user1')
user2 = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user2')
created_on = models.DateTimeField(auto_now_add=True)
class Chats(models.Model):
date = models.DateTimeField(auto_now_add=True)
has_viewed = models.BooleanField(default= False)
message = models.CharField(max_length = 200)
sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sender')
receiver = models.ForeignKey(User, on_delete=models.CASCADE, related_name='receiver')
room = models.ForeignKey(Chat_rooms, on_delete=models.CASCADE)
Django 给我一个错误,{{ {{room.id}}.message }} 是不可能的。
我怎样才能做到这一点?还有其他方法吗?提前致谢
【问题讨论】:
标签: sql django django-models django-rest-framework django-templates