如何从 Django 中的日期时间字段获取月份?

在这个快速示例中,让我们看看如何从 django 中的 datetime 字段中获取月份。
我们将帮助您举例说明如何从 django 的日期时间字段中获取月份名称。
一步一步解释如何从 django 的日期时间字段中提取月份。
我想与您分享如何在 django 中从 datetime 获取月份。

在这个例子中,让我们谈谈我们正在运行一个用户可以在该站点上发布内容的站点。我们可能不想将包含月份的整个datetimefield对象放置在其中,我们可能只想放置日期。

因此,假设我们只想从DateTimeField中提取日期名称。

让我们看看下面的例子,你将学习如何从 django 的 datetime 字段中获取月份。

Django 管理界面:

第 1 步:创建视图

在这一步中,我们将需要用于在文章表中存储文章详细信息的数据库模型。打开 models.py 文件并添加以下代码:
models.py

from django.db import models
from django.contrib.auth.models import User
from django.template.defaultfilters import slugify

class Article(models.Model):
    title= models.CharField(max_length=300)
    url= models.SlugField(max_length=300)
    content= models.TextField()
    pub_date = models.DateTimeField(auto_now_add= True)
    author= models.ForeignKey(User,on_delete=models.CASCADE)

    def save(self, *args, **kwargs):
        self.url= slugify(self.title)
        super(Article, self).save(*args, **kwargs)

    def __str__(self):
        return self.title

    #Get Day Name
    def getdayname(self):
        return self.pub_date.strftime('%B')

第 2 步:创建视图

在这一步中,我们需要配置我们的视图。detail_post_view页面只是一个模板,打开views.py文件并添加:
models.py

from django.shortcuts import render, get_object_or_404,redirect
from .forms import *
from .models import *

def detail_post_view(request, id=None):
    postobj= Article.objects.all()
    context={'postobj': postobj}
    return render (request, 'detail.html', context)

第 3 步:创建模板

接下来,打开 detail.html 文件并添加:
detail.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tuts-Station.com</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
</head>
<body>
    <div class="container mt-5 pt-5">
        <div class="row d-flex justify-content-center">
            <div class="col-md-9">
                <div class="card">
                    <div class="card-header">
                        <h4>How to Get Month from Datetime field in Django? - <span class="text-primary">Tuts-Station.com</span></h4>
                    </div>
                    <div class="card-body">
                        <table class="table table-bordered">
                            <thead>
                                <tr>
                                    <th>Title</th>
                                    <th>Publish Day</th>
                                </tr>
                            </thead>
                            <tbody>
                                {% for post in postobj %}
                                <tr>
                                    <td>{{ post.title }}</td>
                                    <td class="text-primary">{{ post.getdayname }}</td>
                                </tr>
                                {% endfor %}
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

希望对您有用….

how-to-get-month-from-datetime-field-in-django

发表评论

邮箱地址不会被公开。 必填项已用*标注