【问题标题】:How to save url into django model如何将 url 保存到 django 模型中
【发布时间】:2020-08-27 22:54:33
【问题描述】:

我有一个名为 Photo 的模型,看起来像这样......

class Photo(models.Model):
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4)
    created_at = models.DateTimeField(auto_now_add=True)
    photo = models.FileField()
    title = models.CharField(max_length=30)
    kind = models.CharField(max_length=30)
    size = models.CharField(max_length=30)
    strength = models.CharField(max_length=30)
    combinations = models.CharField(max_length=30)
    favors = models.CharField(max_length=30)
    availability = models.BooleanField(default=True)
    iscarousel = models.BooleanField(default=False)

    def __str__(self):
        return "%s %s %s %s %s %s %s %s %s %s" % (self.created_at, self.photo, self.title, 
        self.kind, self.size, self.strength, self.combinations, self.favors, self.availability, 
        self.iscarousel)

我可以保存到我的 aws s3 存储桶,但我没有指向它的 url 路径,或者我相信是这种情况。如何保存我的模型,一旦我上传我的照片,网址也会保存在我的模型中。所以我想我需要一个 url 字段,我知道有一个 models.UrlField 或类似的东西。我只是好奇我如何告诉 django 提取该 url 并将其添加到某个字段,以便我以后可以访问它。如果我没有它,我不知道我应该如何检索它以便稍后在我的网络应用程序上显示它

【问题讨论】:

    标签: django amazon-web-services url


    【解决方案1】:

    如果您使用 ImageField 而不是 FileField,您将获得更多与图像相关的信息。但是两者都有一个 url 属性,您可以从 django 模板或查询特定图像时访问。

    在您的模型中,它看起来像这样:

    image = models.ImageField(upload_to='users/%Y/%m/%d/', blank=True)
    

    在 Django 模板中,您可以这样访问它:

    <img src="{{ img_obj.image.url}}" alt="connect" style="max-height:300px">
    

    Here is a reference 了解有关如何设置的更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-27
      • 2015-07-07
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      相关资源
      最近更新 更多