fileField 是否可以在 django 中保存 url

is it possible for a fileField t save a url in django

我正在一个项目中使用 dj-rest-auth 和 Django-allauth,其中用户在他的用户模型中有一个个人资料照片字段。该字段与具有文件字段的另一个模型具有一对一的关系。这是一个文件字段,因为用户应该能够添加图像和 gif 作为他的个人资料照片。

问题是,当用户使用 google 注册时,个人资料照片是从 google 获取的,这是 URL。我该如何解决这个问题?

我的照片模特

class Photo(models.Model):
    '''
    This model will be a general model for files upload to amazon
    '''
    url = models.FileField()

    def __str__(self):
        return self.url
class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(max_length=254, unique=True)
    name = models.CharField(max_length=250)
    display_picture = models.OneToOneField(Photo, on_delete=models.CASCADE, related_name='dp', blank=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    last_login = models.DateTimeField(null=True, blank=True)
    date_joined = models.DateTimeField(auto_now_add=True)
    slug = models.SlugField(max_length=255, unique=True, blank=True)

向您的照片模型再添加两个字段:

  • is_url(区分应使用底部两个中的哪一个的布尔字段)
  • url(用于保存来自 oauth 的 url 的字符字段)
  • 图片(文件 场)