javascript中django的Python变量?

javascript中django的Python变量?,javascript,python,django,variables,Javascript,Python,Django,Variables,各位。我开始学习javascript,我一直在研究如何将Django中的python变量发送到javascript文件 我的views.py文件部分如下所示: def mailbox(request, mailbox): # Filter emails returned based on mailbox if mailbox == "inbox": emails = Email.objects.filter( user

各位。我开始学习javascript,我一直在研究如何将Django中的python变量发送到javascript文件

我的views.py文件部分如下所示:

def mailbox(request, mailbox):

    # Filter emails returned based on mailbox
    if mailbox == "inbox":
        emails = Email.objects.filter(
            user=request.user, recipients=request.user, archived=False
        )
    elif mailbox == "sent":
        emails = Email.objects.filter(
            user=request.user, sender=request.user
        )
    elif mailbox == "archive":
        emails = Email.objects.filter(
            user=request.user, recipients=request.user, archived=True
        )
    else:
        return JsonResponse({"error": "Invalid mailbox."}, status=400)

    # Return emails in reverse chronologial order
    emails = emails.order_by("-timestamp").all()
    return JsonResponse({'allemails' : [email.serialize() for email in emails]}, safe=False) 
这是我想要发送变量
allemails
inbox.js文件:


function load_mailbox(mailbox) {
  
  // Show the mailbox and hide other views
  document.querySelector('#emails-view').style.display = 'block';
  document.querySelector('#compose-view').style.display = 'none';
  document.querySelector('#emails-view').innerHTML = `<h3>${mailbox.charAt(0).toUpperCase() + mailbox.slice(1)}</h3>`;
  // let x = "Something will be here"
  
  var y = {{ allemails }};
  //var y = {{allemails|escapejs}}; I also tried this one.
  //var y = '{{ allemails }}'; also this one but it defines y literally as a string {{ allemails }}
  // Show the mailbox name//

  if (mailbox === 'sent')
  {
    document.querySelector('#other-view').innerHTML = `<table><tr><td></td></tr><tr><td><h1> ${y}</h1> </td></tr></table>`;
  }
}
非常感谢您的合作。 期待您的来信

class Email(models.Model):
    user = models.ForeignKey("User", on_delete=models.CASCADE, related_name="emails")
    sender = models.ForeignKey("User", on_delete=models.PROTECT, related_name="emails_sent")
    recipients = models.ManyToManyField("User", related_name="emails_received")
    subject = models.CharField(max_length=255)
    body = models.TextField(blank=True)
    timestamp = models.DateTimeField(auto_now_add=True)
    read = models.BooleanField(default=False)
    archived = models.BooleanField(default=False)

    def serialize(self):
        return {
            "id": self.id,
            "sender": self.sender.email,
            "recipients": [user.email for user in self.recipients.all()],
            "subject": self.subject,
            "body": self.body,
            "timestamp": self.timestamp.strftime("%b %d %Y, %I:%M %p"),
            "read": self.read,
            "archived": self.archived
        }