Загрузить изображение через контроль администратора - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать приложение, в которое я могу загружать изображения через сторону администратора, localhost:8000/admin/example, но когда я загружаю изображение, оно выдает ошибку 404 при переходе по URL-адресу изображения.

IЯ новичок в Django и Python, поэтому я пытаюсь узнать о них обоих.

Вот что у меня есть для моделей, URL-адресов и настроек

models.py

item_image = models.ImageField(upload_to = "static/images/products" )

urls.py

from django.conf.urls.static import static
from django.conf import settings

from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('<int:item_id>/', views.detail, name='detail'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
MEDIA_ROOT = PROJECT_ROOT + '/static/images/products/'
MEDIA_URL = '/media/'

html файл

<img src={{item.item_image.url}}>

1 Ответ

0 голосов
/ 28 июня 2019

Надеюсь, вы следовали официальному руководству . Я предполагаю, что у вас есть проект django под названием «mysite» с приложением под названием «example».

Вы должны добавить «static (settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)» к urlpatterns в файле urls.py проекта django «mysite», если вы хотите получить доступ к изображениям с помощью / media.

Если вы решите добавить его в файл urls.py приложения «django» «example» (я полагаю, это то, что вы сделали), вы должны получить доступ к изображениям с префиксом / example / media.

...