Django模板中如何使用filter进行时间和日期的格式化
在Django模板中,使用filter进行时间和日期的格式化非常简单,可以通过一些内置的过滤器实现。下面是具体的使用方法和代码演示。
- 时间格式化
使用date
过滤器可以将时间转换为特定的格式,格式可以是一个日期对象的字符串表示,也可以是一个在settings.py中定义的日期格式。
例如,假设我们有一个名为created_date
的时间对象,在模板中应该这样使用:
<p>创建时间:{{ created_date|date:'Y 年 m 月 d 日 H:i:s' }}</p>
这里的date
过滤器将created_date
对象转换为类似"2021年09月21日 11:49:12"的字符串格式。
- 日期格式化
使用time
过滤器可以将日期转换为特定的格式,和date
过滤器一样,time
过滤器也可以接收一个日期对象并返回一个特定格式的字符串。
例如,假设我们有一个名为birthday
的日期对象,在模板中应该这样使用:
<p>生日:{{ birthday|time:'Y 年 m 月 d 日' }}</p>
这里的time
过滤器将birthday
对象转换为类似"1990年09月21日"的字符串格式。
下面是完整的sample.html
文件演示代码:
<!DOCTYPE html> <html> <head> <title>时间和日期格式化演示</title> </head> <body> <h1>时间和日期格式化演示</h1> <p>博客文章创建时间:{{ created_date|date:'Y 年 m 月 d 日 H:i:s' }}</p> <p>皮蛋的生日:{{ birthday|time:'Y 年 m 月 d 日' }}</p> </body> </html>
在这个例子中,我们假定created_date
是一个包含博客文章创建时间的时间对象,birthday
是一个包含皮蛋的生日的日期对象。
下面是完整的views.py
文件演示代码:
from django.shortcuts import render from datetime import datetime def sample(request): created_date = datetime.now() birthday = datetime.strptime('1990-09-21', '%Y-%m-%d') return render(request, 'sample.html', {'created_date': created_date, 'birthday': birthday})
在这个例子中,我们通过调用datetime.now()
方法获得了当前时间,然后通过strptime()
方法将"1990-09-21"字符串转换为日期对象。
最后,我们在视图函数中将这些变量传递给sample.html
模板,让它们在HTML页面中显示。
相关文章