使用django-excel并使用make_response(),我正在导出一个列日期,它是一个类似DateField的DateField:
2017-10-05T14:27:25.436299 + 00:00
我想将此字段设置为更具可读性的格式,如下所示: 2017/10/05
是否可以在导出视图中格式化日期?
这是我的观点:
import django_excel as excel
def export_client_download(request, atype):
if request.user.groups.filter(name="Admin").exists():
if atype == "clients":
query_sets = Profile.objects.filter(user__groups__name='Clients')
columns_names = [
'user__id',
'user__last_name',
'user__first_name',
'user__email',
'user__date_joined'
]
sheet = excel.pe.get_sheet(query_sets=query_sets, column_names=columns_names)
sheet.row[0] = [
'ID',
'Last name',
'First Name',
'Email',
'Date'
]
return excel.make_response(sheet, 'xls', file_name="clients")
编辑:
我认为一种好方法是使用annotate()直接在查询集中设置“ user__date_joined”字段的格式。但是我不知道该怎么做...
答案 0 :(得分:0)
TLDR,(我对django-excel
没有任何经验)尝试这样的方法
In [1]: input = '2017-10-05T14:27:25.436299+00:00'
In [2]: from dateutil.parser import parse
In [3]: parse(input)
Out[3]: datetime.datetime(2017, 10, 5, 14, 27, 25, 436299, tzinfo=tzutc())
In [4]: format = '%d/%m/%Y'
In [5]: parse(input).strftime(format)
Out[5]: '05/10/2017'