アカウントの単純なアクティベーション キーの場合、別のアカウントと同じキーを使用していないことを確認しながら、乱数からキーを作成する必要があります。今、これは私が持っているものです:
def get_random_word():
word = ''
i = 0
while i in range(10) and User.objects.filter(activation_key = word).exists():
word += random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
i+=1
return word
私が今気付いた問題は、次のUser
ようなユーザープロファイルでdjangoの組み込みクラスを使用していることです。
def create_user_info(sender, instance, created, **kwargs):
if created:
UserInfo.objects.create(user=instance)
post_save.connect(create_user_info, sender=User)
class UserInfo(models.Model):
user = models.OneToOneField(User)
pen_name = models.CharField(max_length=30)
activated = models.BooleanField()
activation_key = models.CharField(max_length=40)
def __unicode__(self):
return self.email + '-' + self.pen_name
ユーザープロファイルでフィルタリングする必要があります。要するに、キー、より具体的にはユーザー プロファイルでフィルター処理するにはどうすればよいでしょうか。