我正在尝试为用户消息设计一个收件箱。我有消息模型,正在尝试显示创建的消息。
models.py
class Message(models.Model):
subject = models.TextField(max_length=1000, blank=True)
text = models.TextField(max_length=10000, blank=True)
sender = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
null = True,
related_name="sender"
)
receiver = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
null = True,
related_name="receiver"
)
profile.html
## SIDE BAR (COLUMN 1)
<div class="tbody">
{% for message in received %}
<div class="ui card mcard" onclick="openMessage(--insert--here)">
<div class="content">
<div class="header">{{message.subject}}</div>
<div class="text">{{message.text}}</div>
</div>
</div>
{% endfor %}
</div>
## COLUMN 2
<div class="ui column">
<div class="row">
<div id="subject"> </div>
<div id="firstname"> </div>
<div id="lastname"> </div>
</div>
<div class="row" id="text"> </div>
</div>
我在可滚动的侧栏中显示了消息列表(仅主题和发件人)。当您单击卡上的特定消息时,我希望所有内容都显示在主(右)列中。如果您知道其外观,基本上就是Apple Mail的工作方式。
我无法在正确的列中显示内容,因为我无法将Django Message对象传递给该函数(因为它基本上是运行循环来创建卡片)。有相对简单的解决方案吗?
TLDR-基本上,单击每个消息卡时,填充主题的innerHTML,发件人的名字和姓氏,文本。
答案 0 :(得分:0)
将消息的ID存储在data属性中(请参见此处:https://www.w3schools.com/tags/att_global_data.asp)
比起您可以使用jquery来获取数据,例如id
$(this).data("id")
比起您可以调用服务器来使用ajax检索消息并填充页面的右侧部分。