我想创建非活动用户并向他们发送激活电子邮件。 这是我的观点:
secret = hexlify(os.urandom(6))
userName = form.cleaned_data['email']
if User.objects.filter(username=userName):
message = EmailMessage('portal/pay_email2.html',{'refid':pk, 'amount':total,'Payment':Payment,'secret': secret }, 'Madeeha ', to=[form.cleaned_data['email']])
message.send()
else:
userPass = hexlify(os.urandom(4))
userMail = form.cleaned_data['email']
user = User.objects.create_user(userName, userMail,userPass)
user.save()
message = EmailMessage('portal/pay_email.html',{'refid':pk, 'amount':total,'Payment':Payment,'userName':userName, 'userPass':userPass, 'secret': secret }, 'Madeeha ', to=[form.cleaned_data['email']])
message.send()
答案 0 :(得分:3)
User.objects.create_user方法将创建一个活动标志设置为true的用户。
您有几个选择:
使用is_active = False的键值覆盖create_user方法:
# create_user(username, email=None, password=None, **extra_fields)
User.objects.create_user('username', email='email', password='pass', is_active=False)
答案 1 :(得分:1)
首先,您也应该分享您的用户模型。如果这是Django 1.5,您可以/应该为is_active
,is_admin
,is_superuser
等用户定义状态字段。(如MattWritesCode
所述)。
然后,您只需使用简单的查询集创建用户:
create_user = UserProfile.objects.create_user(username=xxx, email=xx@xx.com, is_active=False, is_admin=False)