Как отобразить изображение с модели в Django - PullRequest
0 голосов
/ 07 июня 2018

Чтобы быть ясным, я попытался исследовать это самостоятельно, но так как я все еще очень плохо знаком с Джанго, я не могу понять решения здесь.Я также прочитал документацию, и я не понимаю, что я делаю неправильно.Я не могу получить изображения, расположенные в каталоге "ad_pictures", для отображения в HTML.

Вот мой код:

settings.py

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

urls.py (проект)

from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^accounts/', include('accounts.urls')),
    url(r'^classifieds/', include('classifieds.urls')),

 ] +static(settings.MEDIA_URL, document_ROOT=settings.MEDIA_ROOT)

urls.py (приложение для объявлений)

from django.conf.urls import url
from . import views

app_name = 'classifieds'

urlpatterns = [
    url(r'^create/', views.create, name='create'),
    url(r'^latestads/', views.latestads, name='latestads'),
]

models.py

class Post(models.Model):

    title = models.CharField(max_length=150)
    price = models.CharField(max_length=100)
    body = models.TextField()
    pub_date = models.DateTimeField(null=True)
    author = models.ForeignKey(User, null=True)
    category = models.CharField(max_length=150, null=True)
    picture = models.ImageField(upload_to='ad_pictures', default='')

latestads.html

            {% for post in posts.all %}
            <div class="advertisements">
              <div class="a-title">
                <h3><a href="">{{ post.title }}</a></h3>
              </div>
              <div class="a-image">
                <a href=""><img src="{{ post.picture.url }}"></a>
              </div>
              <div class="a-content">
                <p>{{ post.body }}</p>
              </div>
              <div class="a-date">
                <p>{{ post.pub_date }} by {{ post.author }}</p>
              </div>
            </div>
            <img src="{{ post.image.url }}">
            {% endfor %}

Изображение структуры каталогов: здесь

Вывод HTML: здесь

Я уверен, что частью проблемы является "post.picture.URL "в HTML.Любое понимание очень ценится.

Спасибо

1 Ответ

0 голосов
/ 07 июня 2018
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^accounts/', include('accounts.urls')),
    url(r'^classifieds/', include('classifieds.urls')),

 ] +static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

измените document_ROOT на document_root

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...