当我try 从Django中的表单(在本例中是一封邮箱)中获取用户输入时,我收到错误"无法解包不可迭代的bool对象".

def send_email(request):
      recepient_list=[]
      if request.method == "POST":
            
            email = request.POST['pwd_email']
            print(email)
            if User.objects.filter(email == email).exists:
                  recepient_list.append(email)
                  send_mail("PASSWORD RESET", f"Your password reset key is {random_no} \n Do not share this key with anyone", "eliaakjtrnq@gmail.com",recepient_list,fail_silently=False,)
                  recepient_list.clear()

推荐答案

这里有几个问题,最主要的是.filter(email == email).这将判断字符串是否等于自身,因此总是True,因此您使用.filter(True),而Django当然不能对bool做太多事情.

您应该使用以下方式进行过滤:

def send_email(request):
    recepient_list = []
    if request.method == 'POST':
        email = request.POST['pwd_email']
        print(email)
        #                      ***call*** .exists() 🖟
        if User.objects.filter(email=email).exists():
            recepient_list.append(email)
            send_mail(
                'PASSWORD RESET',
                f"Your password resetkey is {random_no} \n Do not share this key with anyone",
                'eliaakjtrnq@gmail.com',
                recepient_list,
                fail_silently=False,
            )
            recepient_list.clear()

Python相关问答推荐

如何使用Python将工作表从一个Excel工作簿复制粘贴到另一个工作簿?

如何让剧作家等待Python中出现特定cookie(然后返回它)?

Python解析整数格式说明符的规则?

梯度下降:简化要素集的运行时间比原始要素集长

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

未知依赖项pin—1阻止conda安装""

Django—cte给出:QuerySet对象没有属性with_cte''''

Python全局变量递归得到不同的结果

在不同的帧B中判断帧A中的子字符串,每个帧的大小不同

计算空值

在Python中控制列表中的数据步长

如何设置nan值为numpy数组多条件

多个矩阵的张量积

如何从数据框列中提取特定部分并将该值填充到其他列中?

分解polars DataFrame列而不重复其他列值

按条件计算将记录拆分成两条记录

如何将列表从a迭代到z-以抓取数据并将其转换为DataFrame?

对于数组中的所有元素,Pandas SELECT行都具有值

Pandas:使列中的列表大小与另一列中的列表大小相同

如何在开始迭代自定义迭代器类时重置索引属性?