Фотолог не показывает изображения или миниатюры - PullRequest
0 голосов
/ 11 октября 2018

Я не могу получить фотолог, чтобы показать изображения.Что я делаю не так?

среда разработки

  • django 2.1
  • python 3.5
  • osx, virtual_env, недавний пункт

settings.py

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

urls

urlpatterns += [
    ...
    url(r'^photologue/', include('photologue.urls', namespace='photologue')),
]
модель
from photologue.models import Photo, Gallery

class PhotoExtended(models.Model):
    photo = models.OneToOneField(Photo, on_delete=models.CASCADE, related_name='photo')
    related_model = models.ForeignKey(MyModel, on_delete=models.CASCADE)

    def __str__(self):
        return self.photo.title

class GalleryExtended(models.Model):
    gallery = models.OneToOneField(Gallery, on_delete=models.CASCADE, related_name='gallery')
    related_model = models.ForeignKey(MyModel, on_delete=models.CASCADE)

    def __str__(self):
        return self.gallery.title

представление на основе классов

class MyModelList(ListView):
    model = MyModel
    template_name = "pictures.html"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['photos'] = PhotoExtended.objects.all()
        context['galleries'] = GalleryExtended.objects.all()
        return context

шаблон (pictures.html):

{% block content %}
    <ul>
        {% for photoExtended in photos %}
            <li>{{ photoExtended.photo.get_absolute_url }}</li>
            <li>{{ photoExtended.photo.image }}</li>
            <img src="/{{ photoExtended.photo.image }}" alt="{{ p.photo.title }}">
        {% endfor %}
        {% for gallery in galleries %}
          <li></li>
        {% endfor %}

ответ оболочки (за документы )

>>> from PIL import Image
>>>

notes

Я перенес базу данных и вижу данные в базе данных, ивсе выглядит правильно.




рендеринг страниц

URL-адреса фотографий:

Одна фотография

a single image

список фотографий a list of photos

и прямой доступ к изображению: (ra - имя в фотологе, но em.jpegэто имя файла)

direct access of the image

и мой взгляд напрямую:

enter image description here

1 Ответ

0 голосов
/ 12 октября 2018

Шаблон был неправильным / устаревшим по сравнению с более старой версией.Вот правильное использование в шаблоне для изображения в списке изображений типа photologueExtended:

{% for photoExtended in photos %}            
    <!-- The link to the photologue template page with the photo and its gallery(s)-->
    <a href="{{ photoExtended.photo.get_absolute_url }}">Link to page</a>
    <!-- The src link to the image thumbnail itself in the media url-->
    <img src="{{ photoExtended.photo.get_thumbnail_url }}" />
    <!-- The src link to the image itself in the media url-->
    <img src="{{ photoExtended.photo.get_display_url }}" />
    <!-- The photologue image's title/description/etc… -->
    {{ photoExtended.photo.title }} <br>
    {{ photoExtended.photo.description }} <br>
{% endfor %}

Также:

неверный URL-адрес в основном проекте urls.py,и должно быть:

url(r'^$', indexView, name='indexView'),
...