Django: Можно ли загрузить CSV-файл с другого сайта и добавить его в FileField через оболочку Django? - PullRequest
0 голосов
/ 29 мая 2019

При использовании Django, когда мне нужно что-то сделать с данными из БД, я всегда использовал оболочку Django.На этот раз я хочу сделать что-то вроде приведенного ниже сценария в оболочке Django.

У меня есть модельный магазин с кучей магазинов.В оболочке Django: 1. Импортируйте модель магазина. 2. По каждому названию магазина я ищу каждое имя и загружаю CSV-файл, основанный на каждом имени магазина.3. Добавьте загруженный CSV-файл в модель FileField in Store.

Я знаю, как работать с № 1 и № 3, но я не совсем понимаю, как мне это сделать # 2.Как я могу ввести название магазина и загрузить CSV-файл из названия магазина в оболочке Django?

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете использовать библиотеку requests для извлечения данных из Интернета.Установите его так:

pip install requests

Затем в Django вы можете использовать ContentFile для сохранения загруженных данных в FileField.Вот пример:

import requests
from django.core.files.base import ContentFile
from .models import SomeModel

response = requests.get('https://raw.githubusercontent.com/wireservice/csvkit/master/examples/test_geo.csv')

s = SomeModal.objects.get(id=0)
s.file_field.save('data.csv', ContentFile(response.content))
s.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...