在我的代码中,有一个if条件,应该通过但由于某种原因正在跳过。它看起来像这样:
if request.method == 'POST':
email = request.POST.get('email',None) #<-- abc@domain.com
user = User.objects.get(username = request.user.username)
user_email = user.email #<-- u''
if user_email is None or '' and email is not None:
user.email = email
第二个if条件正在跳过,即使它是正确的(user_email是空字符串,电子邮件不是None)。我究竟做错了什么?我也试过两步分裂条件,但它仍在跳过。
答案 0 :(得分:1)
问题是
if user_email is None or ''
你的意思是
if user_email in [None, '']
在or
之后,您无法在is
之后包含多个值,或者在其他任何地方,实际上,英语和Python(以及几乎所有其他编程语言)在这方面都不同。您的代码基本上评估为
if (user_email is None) or ('' == True)
当然没有多大意义。
答案 1 :(得分:0)
试试这个。
int main()
{
int i;
for(i=0;i<100;i++)
printf("%d",i);
return 0;
}
我认为你可能没有得到正确的工作,因为你需要在或之后重复 user_mail是''。