技术文摘
Django 前端如何判断文章是否为当日发布
2025-01-09 02:34:17 小编
在Django项目开发中,前端对于文章发布时间的判断,尤其是判断文章是否为当日发布,能够为用户提供更精准、时效性更强的内容体验。那么,具体该如何实现呢?
在后端Django的模型定义中,我们需要为文章模型添加一个发布时间字段。例如:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
publish_time = models.DateTimeField(auto_now_add=True)
这里的publish_time字段记录了文章的发布时间,auto_now_add=True确保每次创建文章实例时,自动填充当前时间。
接着,在视图函数中,我们需要将文章对象传递给前端模板,并确保包含发布时间信息。
from django.shortcuts import render
from.models import Article
def article_list(request):
articles = Article.objects.all()
return render(request, 'article_list.html', {'articles': articles})
然后到前端模板(假设使用的是Django默认的模板引擎),我们要通过JavaScript来实现判断逻辑。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>文章列表</title>
</head>
<body>
{% for article in articles %}
<h2>{{ article.title }}</h2>
<p id="publish-time-{{ article.id }}">{{ article.publish_time }}</p>
<p id="is-today-{{ article.id }}"></p>
<script>
const publishTimeElement = document.getElementById('publish-time-{{ article.id }}');
const isTodayElement = document.getElementById('is-today-{{ article.id }}');
const publishTime = new Date(publishTimeElement.textContent);
const now = new Date();
if (publishTime.getFullYear() === now.getFullYear() &&
publishTime.getMonth() === now.getMonth() &&
publishTime.getDate() === now.getDate()) {
isTodayElement.textContent = '这篇文章是今日发布的';
} else {
isTodayElement.textContent = '这篇文章不是今日发布的';
}
</script>
{% endfor %}
</body>
</html>
在上述代码中,我们首先获取每个文章的发布时间元素,然后使用JavaScript的Date对象来创建发布时间和当前时间的实例。通过比较年份、月份和日期,判断文章是否为当日发布,并在对应的HTML元素中显示结果。
通过以上步骤,我们就实现了在Django前端判断文章是否为当日发布,为用户呈现了更具时效性的内容展示。
- 戳穿机器学习的伪装
- 程序员高薪背后:未来 90%的程序员或将被淘汰?
- 提升超参数搜索效率的几大策略
- 三周打造 JavaScript 全栈 Web 应用
- Python 函数书写:同学,你能否一展风采?
- Ubuntu 上 pip 安装指南
- AR 眼镜能否助库克摆脱乔布斯的影响
- cloc:各类编程语言源代码行数的计算
- Apache Flink 漫谈之 State(04)
- C 语言编程中 90%小伙伴易犯的 18 种错误
- C/C++与 Python 成为自动驾驶汽车工程师热门技能
- 一篇让你彻底弄懂“负载均衡”
- Adobe 推出 Photoshop CC 2019
- 15 个开发者必知的 API
- PHP 5 年底停止更新 六成用户存安全风险