django - как скачивать загруженные файлы .. не могу скачать на localhost - PullRequest
0 голосов
/ 28 февраля 2020

Здравствуйте. Я пытаюсь загрузить файлы, загруженные в мой проект django. В списке файлов, доступных для скачивания, я сохраняю столбец url как объект FeildFile следующим образом:

`>>> File.objects.all()
<QuerySet [<File: bvbv>, <File: test-shsh>, <File: gsdsgdsg>, <File: vbvbv>, <File: bnbn>]>
>>> file = File.objects.all()[0]
>>> file
<File: bvbv>
>>> file.url
<FieldFile: files/contents/test.docx>
>>> `

Когда я создаю ссылки в моем представлении, я получаю форму

http://localhost: 8000 / files / files / contents / test.docx вместо

http://localhost: 8000 / media / files / contents / test.docx

Это не позволяет мне скачивать файлы. Любые клубки

Вот мой фрагмент кода:

settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
CRISPY_TEMPLATE_PACK = 'bootstrap4'

urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.Home.as_view(), name='home'),
    path('upload/', views.upload, name='upload'),
    path('files/', views.file_list, name='file_list'),
    path('file/upload/', views.upload_file, name='upload_file'),
    path('files/<int:pk>/', views.delete_file, name='delete_file'),
]
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

file_list. html

      <td>{{ file.url }}</td>
      <td>
        <a href="{{ file.url }}" class="btn btn-primary btn-sm" target="_blank">
          Download File
        </a>
      </td>
...