【问题标题】:Save Image from RSS Feed to Django Image Field将图像从 RSS 源保存到 Django 图像字段
【发布时间】:2021-10-14 03:01:13
【问题描述】:

我有一个这样的模型:

#models.py
class Post(models.Model):
    cover = models.ImageField(upload_to="news/", blank=True, max_length=255)

然后,我使用 BeautifulSoup4 从 RSS 提要中提取图片网址:

#views.py
def pull_feeds(request, pk):
    source = Autoblogging.objects.get(pk=pk)
    url = requests.get(source.url)
    soup = BeautifulSoup(url.content, "html.parser")

    cover = soup.find('media:content')['url']
    Post.objects.create(cover=cover)

内容提要是这样的

<media:content url="https://travelcommunication.net/wp-content/uploads/2021/10/Raffles-Hotels-Bring-Legendary-Hospitality-Experience-to-Romantic-Udaipur-TRAVELINDEX-TOP25HOTELS-500x300.jpg" width="500" height="300" medium="image" type="image/jpeg"/>

但它只保存 url,而不是图像文件。 如何保存实际的图像文件而不是该图像的 url?

【问题讨论】:

    标签: python django django-models beautifulsoup rss


    【解决方案1】:

    您可以发送另一个GET 请求图像并将响应写入文件:

    ...
    image = requests.get(cover)
    with open("image.png", "wb") as f:
        f.write(image.content)
    

    【讨论】:

    • 好的,我明白了,但是如何将它保存到我的模型中?
    • @penk 对不起,我不能帮你,我对 Django 不熟悉。
    • 好的没问题,谢谢回答
    猜你喜欢
    • 2011-12-15
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    相关资源
    最近更新 更多