如何格式化 Django timezone.now()
How to format django timezone.now()
django 的默认格式 timezone.now() example Aug. 15, 2021, 1:00pm
如何将其转换成 2021-8-15
先谢谢了!
这是我的models.py
publish= models.DateTimeField(default=timezone.now())
我试过这个:
publish= models.DateTimeField(default=timezone.now().strftime('%Y-%m-%d'))
但它不起作用,这是我的 html,我想呈现我的时区:
<div class="main-banner header-text">
<div class="container-fluid">
<div class="owl-banner owl-carousel">
{% for data in dataset %}
{% if forloop.counter >= 4 and forloop.counter <= 6 %}
<div class="item">
<img src="{{data.image.url}}" alt="{{data.blog_title}}">
<div class="item-content">
<div class="main-content">
<div class="meta-category">
<span>{{catlist.cat}}</span>
</div>
<a href="{% url 'blogapp:blog' _id=data.slug %}"><h4>{{data.blog_title}}</h4></a>
<ul class="post-info">
<li><a>{{data.publish}}</a></li>
</ul>
</div>
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
DateTime 字段存储的是日期时间对象,而不是字符串,因此您无法在数据库中格式化字符串。您需要在模板中对其进行格式化:
<li><a>{{ data.publish|date:'%Y-%m-%d' }}</a></li>
django 的默认格式 timezone.now() example Aug. 15, 2021, 1:00pm
如何将其转换成 2021-8-15
先谢谢了!
这是我的models.py
publish= models.DateTimeField(default=timezone.now())
我试过这个:
publish= models.DateTimeField(default=timezone.now().strftime('%Y-%m-%d'))
但它不起作用,这是我的 html,我想呈现我的时区:
<div class="main-banner header-text">
<div class="container-fluid">
<div class="owl-banner owl-carousel">
{% for data in dataset %}
{% if forloop.counter >= 4 and forloop.counter <= 6 %}
<div class="item">
<img src="{{data.image.url}}" alt="{{data.blog_title}}">
<div class="item-content">
<div class="main-content">
<div class="meta-category">
<span>{{catlist.cat}}</span>
</div>
<a href="{% url 'blogapp:blog' _id=data.slug %}"><h4>{{data.blog_title}}</h4></a>
<ul class="post-info">
<li><a>{{data.publish}}</a></li>
</ul>
</div>
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
DateTime 字段存储的是日期时间对象,而不是字符串,因此您无法在数据库中格式化字符串。您需要在模板中对其进行格式化:
<li><a>{{ data.publish|date:'%Y-%m-%d' }}</a></li>