我正在通过系统发送一封自动电子邮件,当它到达电子邮件正文时,所有方法都在那里,除了str(self.total_mes_pagar)方法出现在下一行“ <bound method Mensalista.total_mes_pagar of <Mensalista">
我是python的新手,非常感谢我的帮助和耐心,因为我对这个问题快要疯了
models.py
class Veiculo(models.Model):
marca = models.ForeignKey(Marca, on_delete=models.CASCADE, blank=False)
modelo = models.CharField(max_length=20, blank=False)
ano = models.CharField(max_length=7, default="2018")
placa = models.CharField(max_length=7)
proprietario = models.ForeignKey(
Pessoa, on_delete=models.CASCADE, blank=False, )
cor = models.CharField(max_length=15, blank=False)
def __str__(self):
return str(self.modelo) + ' - ' + str(self.placa)
class Mensalista(models.Model):
veiculo = models.ForeignKey(Veiculo, on_delete=models.CASCADE,
blank=False)
inicio = models.DateField(("Início"), default=datetime.date.today)
validade = models.DateField(("Validade"), blank=False, )
valor_mes = models.DecimalField(
max_digits=6, decimal_places=2, blank=False)
pago = models.CharField(max_length=15, choices=PAGO_CHOICES)
@property
def email(self):
return self.pessoa.email
def mensal(self):
return math.ceil((self.validade - self.inicio).total_seconds() /
86400)
def total_mes(self):
return math.ceil(self.mensal() // 30)
def total_mes_pagar(self):
return self.valor_mes * self.total_mes()
def __str__(self):
return str(self.veiculo) + ' - ' + str(self.inicio)
def send_email(self):
if self.pago == 'Sim':
assunto = 'Comprovante pagamento Estacione Aqui 24 Horas'
mensagem = 'Obrigado por utilizar o Estacione Aqui 24 horas.
Ativação do estacionamento dia : ' + str(self.inicio) +
'Com validade até o dia ' + str(
self.validade) + ' Confirmamos o pagamento do
valor de: ' + str(self.total_mes_pagar) + '
E aguardamos seu retorno '
recipient_list = [self.email]
send_mail(
assunto,
mensagem,
'estacioneaqui24@gmail.com',
[recipient_list],
fail_silently=False,
)
答案 0 :(得分:2)
似乎您没有在调用方法。
str(self.total_mes_pagar())
答案 1 :(得分:0)
background
是一个字段。 valor_mes
是一种方法。最后需要使用total_mes_pagar
来调用方法。
如果您使用的不是模板,则不需要直接调用它。就您而言,您是在()
方法中构建文本。在这种情况下,确实需要在此处明确地调用它:
```
def send_email(自己):
如果self.pago =='Sim':
assunto ='Compastante pagamento Estacione Aqui 24 Horas'
mensagem ='Estacione Aqui 24 horas的效用。
成绩:'+ str(self.inicio)+
'Comvalidadeatédia'+ str(
self.validade)+'Confirmamos o pagamento do
valor de:'+ str(self.total_mes_pagar())+'
E aguardamos seu retorno'
receiver_list = [self.email]
send_email