我用来处理用户登录和管理员登录的代码:
# if not logged in, divert to login page
if users.get_current_user() is None:
return redirect('whoami')
# if logged in, Check if user is an admin
elif not users.is_current_user_admin():
return render(request, 'template.html', {'heading': 'Bad Request (400)',
'message': ['You are not logged in as administrator'],
'user_email': users.get_current_user().email()})
当我使用Djangae appengine with Datastore (Django with datastore support)
后端时一切正常,但是当我启用时Google Identity Aware Protocol (Google IAP)
一切都开始失败。当我检查日志时,它说djangae_gaedatastoreuser
字段 email_lower中有一个 IntegrityError
IntegrityError: Unique constraint violation for kind djangae_gaedatastoreuser on fields: email_lower
甚至google.appengine.api.users
模块也开始出现异常。在第一次尝试登录时,我可以正常登录 AppEngine,但我无法以 google 帐户用户的身份注销 appengine,我看到我已经注销了我的 Google 帐户(这很好但是)。当我尝试登录时,我看到登录(谷歌登录)不需要身份验证。
当我从另一个浏览器实例登录时,它显示
DatabaseError: save with update_fields did not affect any rows.
有人可以解释为什么会发生这种情况以及我必须做些什么来避免这种情况。