def signup(request):
if request.method == 'POST':
if request.POST['password1'] == request.POST['password2']:
try:
user = User.objects.get(username=request.POST['username'])
return render(request, 'accounts/signup.html', {'error':'Username has already been taken'})
except User.DoesNotExist:
user = User.objects.create_user(request.POST['username'], password=request.POST['password1'])
login(request, user)
return render(request, 'accounts/signup.html')
else:
return render(request, 'accounts/signup.html', {'error':'Passwords didn\'t match'})
else:
return render(request, 'accounts/signup.html')
在以下程序中,行
user = User.objects.get(username=request.POST['username'])
在某些方面令我困惑。我知道如果我有字典d = {word1 : definition1, word2 : definition2}
,那么d.get[word1]
将输出definition1
(id
的{{1}})。所以word1
是一个字典,因为结构User.objects
。我对这一部分有一点问题。
任何人都可以向我解释dict.get()
的含义是什么吗?
提前致谢!
答案 0 :(得分:1)
objects
是对模型Manager的引用,其唯一目的是处理数据库查询以从数据库中检索所需数据。
虽然它的方法get
与字典的get
方法具有相同的名称,但它们在内部不会对从中检索数据的位置做同样的事情。