如何格式化 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>