问题背景
大家好,我正在创建一个Twitter克隆。我正在使用JavaScript创建并插入一个新的推文到新闻提要。
在将新推文插入新闻提要后,我注意到刷新页面后日期和时间格式不同。以下示例供参考:
插入新闻源后&刷新页面前发推
刷新页面后鸣叫
JSON格式的推文如下所示
{
"id": 56,
"user": "admin",
"content": "yes",
"date": "Feb 07 2023, 12:26 AM",
"likes": 0
}
我使用Django作为后端& Tweet序列化的方式如下:
def serialize(self):
return {
"id": self.id,
"user": self.user.username,
"content": self.content,
"date": self.date.strftime("%b %d %Y, %I:%M %p"),
"likes": self.likes
}
现在,我不确定是什么原因导致了日期和时间格式的不匹配:
- 推文的序列化器,或
- HTML如何处理日期和时间格式
Django Tweet模板
<small class="text-muted tweet-date">{{tweet.date}}</small>
JavaScript
插入推文的代码
function createTweet(tweetJsonObject) {
// clone Tweet from Tweet template
let newTweet = document.querySelector(".tweet-template").cloneNode(true);
newTweet.style.display = "block";
newTweet.querySelector(".tweet-date").textContent = tweetJsonObject.date;
newTweet.querySelector(".tweet-content").textContent = tweetJsonObject.content;
newTweet.querySelector(".tweet-likes").textContent = tweetJsonObject.likes;
newTweet.dataset.id = tweetJsonObject.id;
// remove tweet-template & add tweet class
newTweet.classList.remove('tweet-template');
newTweet.classList.add('tweet');
return newTweet;
}
1条答案
按热度按时间mtb9vblg1#
使用日期过滤器来格式化Django模板中的日期
以下格式字符串应与JSON中使用的格式字符串的输出相匹配