Почему django не загружает картинку?

При написании статьи я могу по желанию загрузить изображение, но, когда я это делаю, ничего не происходит settings.py

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

detail.html

  <img src="{% if article.image %}{{ article.image.url }}{% endif %}">

models.html

class Article(models.Model):
    title = models.CharField(max_length=50)
    text = models.TextField()
    image = models.ImageField(blank=True, upload_to='images/%Y/%m/%d')
    file = models.FileField(blank=True)

urls.py

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

Разобрался с вашей задачей.

Первый шаг: create.html

<form action="/content/create/"

Как я и говорил в атрибуте action должна быть ссылка на метод обработки формы.

Второй шаг: views.py

form = ArticleForm(request.POST,files=request.FILES)

Забыли обязательный аргумент, если мы что то загружаем files=request.FILES.

Третий шаг: detail.html

 <img src="{{ MEDIA_URL }}{{ article.image.url }}">

У меня ваш проект из репозитория работает, появляется папка и в ней загруженные файлики и фото выводится в шаблоне.

Вернуться на верх