Задать вопрос
@Juvel1988

Как сделать так, чтобы главная картинка статьи отображалась в превью?

Пишу сайт на Django. Нужно, чтобы выводился анонс статей с картинкой. Не знаю как это реализовать. Использую ckeditor. Картинка не отображается в превью новости, а видна только тогда, когда заходишь на страницу той или иной статьи.

60259a6461e57619502102.png

models.py

class News(models.Model):
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=50,unique=True)
author = models.ForeignKey(User,on_delete=models.CASCADE,
related_name='news_posts', null=True, blank=True)
anons = models.CharField(max_length=350)
body = RichTextUploadingField(null=True, blank=True)
date_added = models.DateTimeField(auto_now_add=True)
# Возврат понятного отображения заголовка в панель администрирования
def __str__(self):
    return self.title
class Meta:
    verbose_name = u"Новость"
    verbose_name_plural = u"Новости"


urls.py

from django.conf.urls import url
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import include, url
from django.urls import path
from .views import AboutUs,Mission,Index,Contacts, Cooperation, News
# -*- coding: utf-8 -*-
urlpatterns = [
   
     #Домашняя страница
    path('index/', Index.as_view(), name='index'), #Домашняя страница
    path (r'', views. articles, name = 'news'),#Лента новостей
    path('ckeditor/', include('ckeditor_uploader.urls')),#редактор статей
    path(r'new/<el_id>', views.el, name='el'),#Вывод отдельной новости
    ]


vews.py

from django.shortcuts import render
from django.views.generic import TemplateView
from django.utils import timezone
from .models import News 

class Index(TemplateView):
    #Домашняя страница приложения
    template_name = 'index.html'

def articles(request):#Страница новостей
        news = News.objects.order_by('-date_added') 
        context = {'new': news}
        return render(request, 'prosvet_logs/news.html', context)

def el(request, el_id): #Вывод отдельной новости
    news = News.objects.get(id=el_id)
    context = {'news':news}
    return render(request, 'prosvet_logs/article.html', context)


news.html

{% extends "prosvet_logs/base.html" %}
{% block content %}
<div class="News">
    {% if new %}
        {% for el in new %}
    <div class="articles">
        <h3><a href="{% url 'el' el.id %}">{{ el }}</a></h3>
        <p>{{ el.anons }}</p>
    </div>
        {% endfor %}
    {% else %}
        <p>Новостей нет</p>
    {% endif %}
    {#Так выглядит комментарий в теле html#}
</div>
{% endblock content %}
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы