在 Python Django 中,我想运行这两个语句,如果 else 是如果电子邮件显示它或者如果用户名显示它 [重复]
Posted
技术标签:
【中文标题】在 Python Django 中,我想运行这两个语句,如果 else 是如果电子邮件显示它或者如果用户名显示它 [重复]【英文标题】:In Python Django I want to run both the statements on if else that is if email is taken show it or if username show it [duplicate] 【发布时间】:2021-08-16 18:17:57 【问题描述】:我有一个 html 表单填写注册页面,我在其中显示是否存在任何用户名或电子邮件,如果存在,则显示用户名,如果存在电子邮件,它将显示电子邮件,但问题是即使我在 html 表单的电子邮件字段中提供电子邮件,它说用户名已被使用,但不是电子邮件我尝试了其他,如果类似声明它没有工作,用户名被使用的工作正常但不是电子邮件。这里我的意思是两个语句应该单独运行
如果有人知道请帮忙
这是我的观点.py
def Register(request):
try:
if request.method == 'POST':
username = request.POST.get('username')
email = request.POST.get('email')
password = request.POST.get('password')
try:
if User.objects.filter(username = username).first():
messages.success(request, 'Username is taken.')
return redirect('/register/')
if User.objects.filter(email = email).first():
messages.success(request, 'Email is taken.')
return redirect('/register/')
user_obj = User(username = username , email = email)
user_obj.set_password(password)
user_obj.save()
profile_obj = Profile.objects.create(user = user_obj )
profile_obj.save()
return redirect('/login/')
except Exception as e:
print(e)
except Exception as e:
print(e)
return render(request , 'register.html')
【问题讨论】:
这似乎是你今天第三次问同样的问题了...(1.***.com/questions/67732997/…2.***.com/questions/67736247/…),你可以简单地@987654323 @您的问题,如果您想添加一些说明等。不要一次又一次地发布相同的问题。 我本来打算发布一个答案,但是当你第二次问这个问题时,基本上有人已经发布了我要发布的答案。 我不知道该怎么做我所有的事情 你能帮我解决这个问题@Abdul Aziz Barkat @JamesRowling 我试图给你一个非常简单的想法,告诉你你的问题在哪里。在下面检查我的答案。 【参考方案1】:问题是你指定一个又一个if。要更熟悉代码流,不妨尝试在 http://pythontutor.com/visualize.html#mode=edit 中运行您的代码。
如果你尝试这样的事情:
def x(y):
if y > 5:
return True
if y > 10:
return False
print(x(12))
它永远不会返回 False,因为即使数字大于 10,它也会在第一个 if 条件处停止。
【讨论】:
以上是关于在 Python Django 中,我想运行这两个语句,如果 else 是如果电子邮件显示它或者如果用户名显示它 [重复]的主要内容,如果未能解决你的问题,请参考以下文章