Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/48: Рейтинг темы: голосов - 48, средняя оценка - 4.83
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533

Скачивание файала

03.03.2020, 12:38. Показов 10267. Ответов 25

Студворк — интернет-сервис помощи студентам
День добрый. Изучаю Django и наткнулся на проблему. У меня есть статьи, к этим статьям прикрепляются файлы (например картинка какая-то), под статьёй есть кнопка скачать. Вопрос: как другому пользователю скачать эту картинку, 4 часа блин бьюсь головой об клаву не могу понять, посмотрел интернет, там какая-то чушь! Помогите пожалуйста. Проблема в том, что при нажатии на кнопку скачать, оно типо качает, но пишет: "Файлы отсутствуют".
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2020, 12:38
Ответы с готовыми решениями:

Скачивание
Поискал в поиске вродиб не че подобного нет. Вопрос как в сишарпе организовать скачивание файла с интернета по имеющийся ссылке, подскажите...

Скачивание
Привет всем, появилась проблема скачивания антивирусных баз для МОЕГО антивируса (я пишу антивирус), например в папке с базами лежит...

Скачивание папки
Добрый день, я пытаюсь сделать лаунчер, и нужно скачать папку. А как сделать, не знаю. Снизу код который получился ...

25
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
03.03.2020, 12:41
Damenikx, статья у вас в каком формате скачивается?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.03.2020, 13:22  [ТС]
Статьи у меня не скачиваются, они выводятся.

Добавлено через 8 минут
Уже весь интернет перерыл, а там только загрузка на сайт и вывод на экран! А скачать то как блинаааааа?!!

Добавлено через 11 секунд
Уже весь интернет перерыл, а там только загрузка на сайт и вывод на экран! А скачать то как блинаааааа?!!
0
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
03.03.2020, 13:27
Цитата Сообщение от Damenikx Посмотреть сообщение
под статьёй есть кнопка скачать
Цитата Сообщение от Damenikx Посмотреть сообщение
Статьи у меня не скачиваются, они выводятся.
так под статьёй или под картинкой?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.03.2020, 13:52  [ТС]
Картинка сама не выводится, но она есть, просто есть кнопка "скачать".

Добавлено через 7 минут
Выглядит так:

Заголовок: затупок

Текст: я затупок

"СКАЧАТЬ"
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
03.03.2020, 17:19
Damenikx, выводи просто ссылку на изобрашение
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.03.2020, 15:15  [ТС]
m0nte-cr1st0, я так и делаю, но у меня при нажатии на ссылку открывается страница якобы не прописаны urls

Добавлено через 13 минут
Пишу вот так:

HTML5
1
<a href = "{{articles.geeks_field}}">Download</a>
И меня выкидывает в urls.

Добавлено через 3 минуты
Я так понимаю, что надо прописывать функцию скачивания и обращаться не к имени файла в models, а к функции которая будет подттягивать нужный файл.

Добавлено через 12 секунд
Только вот, как это реализовать?

Добавлено через 19 минут
И я заметил, что при нажатии на ссылку скачки в браузере ссылка такая:
localhost/news/news/static/files/имя_файла

файл лежит по адресу:

localhost/news/static/files/имя_файла

То бишь news - 2 раза повторяются.

Добавлено через 3 минуты
Второй день бьюсь и никак не добьюсь блин!!!
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
04.03.2020, 17:40
Damenikx, Добавь download атрибут
http://htmlbook.ru/html/a/download
Если ссылка на изображение правильна, должно скачиваться.

Добавлено через 27 секунд
Или вот посмотри
https://stackoverflow.com/ques... imagefield
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
05.03.2020, 08:39  [ТС]
Проблема в том, что в файл добавляется в Админ панели и сразу кладется в папку, нет смысла писать функцию скачивания если это просто ссылка, проблема перехода браузера к файлу, он подтягивает news/news/ а должен просто news

Добавлено через 14 минут
Смотрите как получается, в файле models.py я прописал поля для нашей записи, одно из полей это:

Python
1
geeks_field = models.Model(upload_to = "static", max_length =254, default ="")
Таким образом при создании статьи мы ещё и добавляем файл к этой статье. Получается файл лежит my_site/static/1.png (например), но когда уже я жму на ссылку, он естественно перекидывает меня на my_site/news/static/1.png, ведь добавлял я файл в админке, а значит будет и путь news, вот в чём проблема, и поэтому я не могу его скачать когда добавляю:

HTML5
1
<a href = "{{articles.geeks_field}}">Download</a>
Ведь в переменной articles.geeks_field - хранится путь my_site/news/static/1.png

Добавлено через 21 минуту
Итак друзья, случилось страшное, я добился того, чтобы скачивать файл, но вот незадача, теперь мне пишет: Ошибка: файлы отсутствуют.

Типо показано, как качается файл, но файл отсутствует.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
07.03.2020, 12:30
Лучший ответ Сообщение было отмечено Damenikx как решение

Решение

Что-то ты на пустом месте проблему нарыл:
Python
1
2
3
4
5
6
class MyModel(models.Model):
    # file will be uploaded to MEDIA_ROOT/uploads
    upload = models.FileField(upload_to='uploads/')
    # or...
    # file will be saved to MEDIA_ROOT/uploads/2015/01/30
    upload = models.FileField(upload_to='uploads/%Y/%m/%d/')
И потом в шаблоне пишешь:
HTML5
1
<a href="{{ MEDIA_URL }}{{ article.upload.name }}">
https://docs.djangoproject.com... -in-models
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.03.2020, 11:49  [ТС]
Рыжий Лис, значит отдельный класс надо создавать, а потом уже из этого класса вытягивать?

Добавлено через 3 минуты
Только проблема то остаётся. Файл, который он скачивает сразу пишет "Файл не найден".

Добавлено через 17 секунд
Точнее файлы отсутствуют.

Добавлено через 7 минут
В том-то и проблема, что файл он находит, при скачке пишет как он называет и сразу: Ошибка: "Файлы отсутствуют", но он там есть))

Добавлено через 17 минут
Возможно проблема в том, что файлы добавляются вместе с новостью, то есть, я захожу в админку, создаю новую запись, там к записи добавляю файл, НО теперь имя пути файла (который мы в шаблоне прописываем) не тот который мы указали в upload_to, а теперь туда добавляется url, на котором лежит данная новость и отсюда получается что файл добавляется в корневую папку сайта (например в static) а адрес url получается news/static/имя_файла. Поэтому и проблема возникает такая, но как её решить я не знаю(

Добавлено через 6 минут
У меня загрузка файла находится в той же модели, что и сама новость. ПОлучается файлик добавляется к новости.

Добавлено через 2 минуты
Может как-то по-другому надо присоединять загрузку файлов к новости?

Добавлено через 27 минут
У меня в models.py есть класс, в котором есть поле для добавления файла, чтобы создавая новость можно было и файл воткнуть. Может как-то по-другому это делается?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
11.03.2020, 12:08
Цитата Сообщение от Damenikx Посмотреть сообщение
значит отдельный класс надо создавать, а потом уже из этого класса вытягивать?
Зачем класс? Просто правильное поле в модели.

У тебя всё правильно сделано.

Цитата Сообщение от Damenikx Посмотреть сообщение
а теперь туда добавляется url, на котором лежит данная новость и отсюда получается
Надо только ссылку правильно отрисовать в шаблоне. Посмотри, что хранится в базе. И добавляй префикс {{ MEDIA_URL }} в ссылке.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.03.2020, 12:43  [ТС]
Рыжий Лис, я попробовал - не помогло. {{articles.geeks_field.name}} - возвращает весь путь а не имя файла. Место медиа рут у меня статик, он прописан.

Добавлено через 8 минут
В общем комбинация {{ MEDIA_URL }}{{ article.upload.name }} не хочет работать. Путь остаётся тот, который подтягивается из article.upload.name

Добавлено через 7 минут
Я же говорил, что у меня получается что article.upload.name - возвращает такую ссылку: localhost/news/static/file_name.jpg, а файлы добавляются в localhost/static/file_name.jpg.

Он всегда добавляет долбаную news в ссылке.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.03.2020, 13:39
Damenikx, показывай настройки медиа
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.03.2020, 14:47  [ТС]
Файлик models.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
from django.db import models
 
class Articles(models.Model):
    title = models.CharField('Заголовок', max_length=120)
    post = models.TextField()
    date = models.DateTimeField()
    geeks_field = models.FileField(upload_to='images/', default='')
    objects = models.Model
 
 
    def __str__(self):
        return self.title
HTML5
1
2
3
4
5
6
7
8
9
{% extends "mainApp/wrapper.html" %}
 
{% block content %}
    <h2 class="text-info">{{articles.title}}</h2>
    <h6 class="text-info">Опубликовано: {{articles.date|date:"Y-m-d в H:i:s"}}</h6>
    <p>{{articles.post|safe|linebreaks}}</p>
    <a href="{{ MEDIA_URL }}{{articles.geeks_field.name}}" download="" class="btn btn-success btn-lg">Скачать</a>
 
{% endblock %}
Добавлено через 13 минут
Какая то дичь, даже если я просто в папку с проектом сую картинку и задаю путь к ней прямым html, ошибка такая же.

Добавлено через 49 секунд
В консоли пишет: Not Found /news/1.png , хотя вот она лежит я её вижу.

Добавлено через 7 минут
Даже если я пишу вот так: http://localhost:8000/news/1.png - всё равно говорит, что файла нет.

Добавлено через 44 секунды
Если убираю атрибут download то меня кидает якобы на несуществующую ссылку.

Добавлено через 18 минут
Не хочет вытягивать {{MEDIA_URL}}{{articles.geeks_field.name }}
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.03.2020, 15:26
Лучший ответ Сообщение было отмечено Damenikx как решение

Решение

HTML5
1
{{MEDIA_URL}}{{articles.geeks_field.name}}
name указывать не нужно

Попробуй так:
HTML5
1
<a href="{{articles.geeks_field.url}}" download class="btn btn-success btn-lg">Скачать</a>
И покажи настройки всё же
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.03.2020, 15:32  [ТС]
m0nte-cr1st0, sittings, вы имеете ввиду? Если медиа, то я прописал.

Добавлено через 1 минуту
m0nte-cr1st0, в общем всё получилось! После того как прописал:

Python
1
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
в urls.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.03.2020, 15:33
Цитата Сообщение от Damenikx Посмотреть сообщение
После того как прописал:
https://docs.djangoproject.com... evelopment
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
11.03.2020, 15:35  [ТС]
m0nte-cr1st0, да-да, вот только первый раз я прописал не в тот urls, поэтому целую неделю тупил
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.03.2020, 15:35
Только вынеси это в блок `if settings.DEBUG:`
На проде у тебя за медиа будет отвечать нжинкс какой-то

Не по теме:

З.Ы. Как тут выделять код, чтобы он выглядел как на SO? Жирным как-то некрасиво смотрится...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2020, 15:35
Помогаю со студенческими работами здесь

Скачивание файла
Вопрос такой. Я на денвере изучаю потихоньку пых, и передо мной стоит задача загрузки и скачивания файла. Загрузку я решил, но теперь мне...

Скачивание файла
Приведите код с библиотеками (полноценный, чтоб скопировал и все работало) для скачивания файла с какого-либо интернет ресурса.

Скачивание с сайта
Здравствуйте, мне нужно реализовать загрузку файлов с FTP-сервера. Я в этом совершенно не шарю. Хотелось бы чтобы знающие люди посоветовали...

Скачивание из интернета
Здравствуйте, помогите переделать кусок кода. Необходимо скачивание файла с сайта по прямой ссылке ...

Ссылка на скачивание
Дайте пожалуйста ссылку на скачивание Delphi 7, exe 5. Заранее спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru