【发布时间】:2013-08-06 21:21:24
【问题描述】:
我正在努力使这封电子邮件仅在布尔字段为真时发送。不幸的是,我经常遇到无效的语法错误。
在models.py中
class PurchaseOrder(models.Model):
has_responded = models.BooleanField(default = True)
confirmed = models.NullBooleanField(null=True)
在views.py中
def confirm(request, itemnum):
item = get_object_or_404(PurchaseOrder, item_number = itemnum)
item.confirmed = True
item.save()
confirm_title = 'Purchase Order %s Confirmed' % item.product
send_mail(confirm_title, 'Check the Product Order System to see the updated list.', 'myemail@gmail.com',['youremail@gmail.com'], fail_silently=False)
return HttpResponse('Product %s confirmed' % item.product )
我想让 has_responded 默认为 True。然后执行 if 语句,其中 def confirm 仅在 has_responded 为 True 时执行。在 def 的末尾,我想让 has_responded 为 false。因此,它只会执行一次。不幸的是,我经常遇到错误,我不知道为什么。上面的代码都可以工作,但是当我实现 if 语句时,它就崩溃了。
编辑:
这是给我错误的代码
def confirm(request, itemnum):
item = get_object_or_404(PurchaseOrder, item_number = itemnum)
if item.has_responded == True
item.confirmed = True
item.save()
confirm_title = 'Purchase Order %s Confirmed' % item.product
send_mail(confirm_title, 'Check the Product Order System to see the updated list.', 'myemail@gmail.com',['youremail@gmail.com'], fail_silently=False)
return HttpResponse('Product %s confirmed' % item.product )
item.has_responded = False
【问题讨论】:
-
用你的
if声明和错误回溯发布原始代码 -
请显示出现错误的代码。
-
添加了给我错误的代码。很抱歉没有将其包含在原始帖子中。
-
您遇到的语法错误是什么(堆栈跟踪)?
-
还需要在
return语句之前设置item.has_responded = False,否则该行代码将永远不会执行。请发布原始错误:/
标签: python django if-statement logic