|
@@ -27,6 +27,9 @@ class User(models.Model):
|
|
|
db_table = '_user'
|
|
db_table = '_user'
|
|
|
verbose_name = verbose_name_plural = '用户信息表'
|
|
verbose_name = verbose_name_plural = '用户信息表'
|
|
|
|
|
|
|
|
|
|
+ def get_root_folder(self):
|
|
|
|
|
+ return self.folders.get(father_folder=None)
|
|
|
|
|
+
|
|
|
def set_password(self, password):
|
|
def set_password(self, password):
|
|
|
# TODO: 密码强度检验,密码hash存储
|
|
# TODO: 密码强度检验,密码hash存储
|
|
|
self.password = password
|
|
self.password = password
|
|
@@ -73,6 +76,9 @@ class User(models.Model):
|
|
|
def _make_hash_value(self, timestamp):
|
|
def _make_hash_value(self, timestamp):
|
|
|
return f'{self.pk}{self.password}{timestamp}{self.email}'
|
|
return f'{self.pk}{self.password}{timestamp}{self.email}'
|
|
|
|
|
|
|
|
|
|
+ def __str__(self):
|
|
|
|
|
+ return self.username
|
|
|
|
|
+
|
|
|
|
|
|
|
|
def get_user(request):
|
|
def get_user(request):
|
|
|
username = request.data.get('username', '')
|
|
username = request.data.get('username', '')
|
|
@@ -97,35 +103,3 @@ class LoginToken(models.Model):
|
|
|
token = models.CharField(max_length=256)
|
|
token = models.CharField(max_length=256)
|
|
|
|
|
|
|
|
|
|
|
|
|
-from folder.models import Folder
|
|
|
|
|
-# 引入内置信号
|
|
|
|
|
-from django.db.models.signals import post_save
|
|
|
|
|
-# 引入信号接收器的装饰器
|
|
|
|
|
-from django.dispatch import receiver
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-class Profile(models.Model):
|
|
|
|
|
- # 对应django自带的user
|
|
|
|
|
- user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
|
|
|
|
|
- # 对应的根目录
|
|
|
|
|
- root_folder = models.ForeignKey(Folder, null=True, on_delete=models.DO_NOTHING, related_name='profile')
|
|
|
|
|
-
|
|
|
|
|
- def __str__(self):
|
|
|
|
|
- return '_user {}'.format(self.user.username)
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-# 信号接收函数,每当新建User实例的时候自动调用
|
|
|
|
|
-@receiver(post_save, sender=User)
|
|
|
|
|
-def create_user_profile(sender, instance, created, **kwargs):
|
|
|
|
|
- if created:
|
|
|
|
|
- Profile.objects.create(user=instance)
|
|
|
|
|
- root_folder = Folder.objects.create(owner=instance)
|
|
|
|
|
- instance.profile.root_folder = root_folder
|
|
|
|
|
- instance.save()
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-# 信号接收函数,每当更新User实例的时候自动调用
|
|
|
|
|
-@receiver(post_save, sender=User)
|
|
|
|
|
-def save_user_profile(sender, instance, **kwargs):
|
|
|
|
|
- pass
|
|
|
|
|
- # instance.profile.save()
|
|
|