答案 1:
选项 1
from_the_docs:你可以选择自定义用户模型。它是这样的:
class MyUser(AbstractUser):
USERNAME_FIELD = 'username'
weights_dir = models.CharField('Weights Directory')
def save(self, *args, **kwargs):
if self.weights_dir is None:
self.weights_dir = "user_{0}/MyFolder/{1}".format(self.id, self.username)
# add creating directory code here
super(AbstractUser, self).save(*args, **kwargs)
并在settings.py 中设置
AUTH_USER_MODEL = 'yourappname.MyUser'
您还需要更新admin.py 文件:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User
admin.site.register(User, UserAdmin)
不要忘记在进行这些更改后进行迁移。
选项 2
如果您不习惯实现自定义用户模型并希望使用默认用户模型,您可以使用 post_save 信号 from_the_docs。比如:
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
@receiver(post_save, sender=User)
def create_directory(sender, instance, created, **kwargs):
if created:
pass # add create directory code here
答案 2:
在views.py 你可以这样做:
from django.http import HttpResponse
def home(request):
# add wigths save code here
return HttpResponse("Weights Created.")