Я следую официальному руководству по django 2, но меня немного смущает вопрос работы с изображениями и загруженными файлами.
У меня есть проект с несколькими приложениями.Давайте назовем проект myProj и приложение myApp.В myApp есть модель myModel с полем изображения myImage. Вот моя модель:
from django.db import models
class myModel(models.Model):
myImage = models.ImageField(upload_to='myApp_images')
Вот мой шаблон:
<img src="{{ n.image }}"></img>
Вот мой взгляд
from django.shortcuts import get_object_or_404, render
from .models import myModel
def index(request):
n = myModel.objects[0]
context = {
'n': n,
}
return render(request, 'myModel/index.html', context)
А вот мои настройки: (части, которые я считал актуальными)
INSTALLED_APPS = [
'news.apps.myModelConfig',
'django.contrib.staticfiles',
]
MEDIA_URL = '/media/'
MEDIA_ROOT = '/home/aran/myfiles/projects/futureCoin/media/'
Вот мой myProject / urls.py:
from django.contrib import admin
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('myModel/', include('myModel.urls')),
path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Итак, я сделал экземпляр модели через сайт администратора django. Вот дерево каталогов после этого (я удалил pycache):
.
├── myProject
│ ├── __init__.py
│ ├── models.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── media
│ └── myModel_images
│ └── myImage.jpeg
├── myModel
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── __init__.py
│ ├── models.py
│ ├── static
│ │ └── myModel
│ │ ├── images
│ │ │ └── bg.jpg
│ │ └── style.css
│ ├── templates
│ │ └── myModel
│ │ └── index.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
Теперь проблема в том, что при попытке открыть страницу индекса изображение не отображается, потому что URLна это: http://127.0.0.1:8000/myModel/myModel_images/myImage.jpg
однако, если я вручную открою URL: http://127.0.0.1:8000/media/myModel_images/myImage.jpg
, я вижу правильное изображение.Может кто-нибудь, пожалуйста, помогите мне понять, где проблема и как я могу это исправить?Любые другие отзывы о моем коде также приветствуются.