Django: отсутствует запрос при попытке доступа к медиафайлу - PullRequest
0 голосов
/ 02 августа 2020

Я использую Django REST Framework как серверную часть и React как интерфейсную часть, я создал базу данных, в которую загружаю несколько статей. Эти статьи содержат заголовок, текст и изображение. Я получаю эту базу данных с помощью ax ios в React, и я могу визуализировать заголовок и тело, но не изображение. Я думаю, мне нужно использовать абсолютный путь, по которому изображение хранится, но вот проблема: я не могу получить это изображение.

Models.py

class Article(models.Model):
    index     =   models.AutoField(primary_key=True, editable=False)
    title     =   models.CharField(blank=False, max_length=150,editable=True)
    img       =   models.ImageField(upload_to='articles/', blank=True, null=True)

Django Диспетчер Rest Framework

{
    "index": 2,
    "title": "First article",
    "img": "/media/articles/14-101.jpg",
},

settings.py

...
STATIC_URL = '/static/'

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

urls.py ...

    url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
    url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),
    
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Сервер не получает запрос при попытке дозвониться 127.0.1.1:8000/media/articles/14-101.jpg.

Заранее спасибо!

1 Ответ

0 голосов
/ 02 августа 2020

«Проблема» (на самом деле это не проблема, это была моя вина) находится в файле settings.py, там вы можете получить доступ к серверу только через HTTPS, так что для доступа к изображению правильный URL-адрес это:

https://127.0.1.1: 8000 / media / article / image_name.jpg

Обратите внимание на https: // перед IP-адресом. Я также запускаю сервер с помощью команды r unsslserver 127.0.1.1:8000.

...