我的模板中的预订表单会在提交时发送电子邮件。在我的数据库中,日期时间字段显示为:Oct. 6, 2015, 3:58 p.m.
但是当我收到电子邮件时,日期时间字段显示为:2015-10-06 15:58:50.954102
如何格式化,以便在电子邮件中显示的确切喜欢它在数据库中的显示方式?
class Booking(models.Model):
patient_name = models.CharField(max_length=1300)
phone = models.IntegerField(null=True, blank = True)
preference = models.CharField(max_length=150,null = True, blank = True) #morning,noon,night
doctor = models.ForeignKey(Doctor)
clinic = models.ForeignKey(Clinic,null=True, blank = True)
datetime = models.DateTimeField(auto_now=True, auto_now_add=True, blank = True, null = True)
def __unicode__(self):
return u"%s %s" % (self.patient_name, self.doctor)
lead = Booking(doctor_id=doctor.id, clinic_id=doctor.clinic.id, preference=preference, patient_name=patient_name, phone=phone)
lead.save()
body = "Request Made: " + str(lead.datetime) +" "
email = EmailMessage('Blah', body, to=[clinic.email])
email.send()
答案 0 :(得分:3)
您可以使用strftime
>>> from datetime import date
>>> dt = date(2015, 10, 6, 15, 58, 50)
>>> dt.strftime("%b. %-d %Y %-I:%M %p")
'Oct. 6 2015 2:12 PM'
处有strftime
的代码列表
因此,在您看来,您会做类似
的事情body = "Request Made: %s " % lead.datetime.strftime("%b. %-d %Y %-I:%M %p")
答案 1 :(得分:2)
这不完全是数据库中的内容,它只是用于在数据库中查看的工具,显示日期时间。
但是,如果您希望日期时间看起来与此完全相同,请使用:
lead.datetime.strftime("%b. %-d %Y %-I:%M %p")
以下是一些相关来源: https://docs.python.org/2/library/datetime.html#datetime.datetime https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior