Сценарий CSV в Django не видит путь d к файлу - [Errno 2] No such file or directory
Почему мой скрипт Pytnon/Django не может прочитать путь к файлу и вернуть его. Как правильно установить путь из сохраненного файла?
[Errno 2] No such file or directory: '/media/file_hll8NoJ.csv
Views.py
if form.is_valid():
cd = form.cleaned_data
if cd['file']:
obj = FileUpload()
obj.file = cd['file']
obj.save()
with open(obj.file.url) as f:
reader = csv.reader(f)
for row in reader:
_, created = UserEmail.objects.get_or_create(
owner=obj_instance,
email=row[0],
middle_name=row[2],
)
Путь правильный и если я открываю http://127.0.0.1:8000/'/media/file_hll8NoJ.csv loacal все работает нормально (я вижу мой csv файл)
Вы обращаетесь к url файла, это правильно, если вы используете его на стороне клиента и вообще, если вы достигаете ресурса из интернета.
Но в данном случае вы обращаетесь к файлу со стороны сервера, поэтому вам следует использовать obj.file.path вместо obj.file.url
Источник: Документация по полевым файлам Django
Вы обращаетесь к url файла, это правильно, если вы используете его на стороне клиента и вообще, если вы достигаете ресурса из интернета.
Но в данном случае вы обращаетесь к файлу со стороны сервера, поэтому вам следует использовать obj.file.path вместо obj.file.url
Источник: Документация по полевым файлам Django