我在Django模板上显示日期,并且我有一个python函数为我今天格式化日期并将它传递给我的模板。使用Django模板标签或传递来自python的变量更好吗
# function [format example: Wednesday 01 February 10:00:00]
def today():
date_now = datetime.now()
day_number = date_now.strftime("%d")
month_name = date_now.strftime("%B")
day_name = date_now.strftime("%A")
time = date_now.strftime("%X")
date = "{} {} {} {}".format(day_name, day_number, month_name, time)
return date
# view
def myview(request):
the_date_today = today()
context = {
"the_date_today": the_date_today,
}
return render(request, "template.html", context)
# template
<h1>{{ the_date_today }}</h1>
我只是发现这样做只是Django的模板标签的方式。
# view
def myview(request):
the_date_today = datetime.now()
context = {
"the_date_today": the_date_today,
}
return render(request, "template.html", context)
# template
<h1>{{ the_date_today|date:"l m F H:i" }}</h1>
这有什么更好的方法?使用模板过滤器的代码少得多,但是这会让任何事情变得更慢吗?
模板过滤器将不会让您的应用程序的任何慢。无论如何,这些场景都是python函数。最好在模板中保留演示文稿,所以我建议使用标准的Django模板过滤器。 – dentemm