Python 显示新闻列表中文章的快照

Python 显示新闻列表中文章的快照,python,html,django,Python,Html,Django,我有一个news\u list.html模板,它完整地列出了所有文章。有什么方法可以让我把这些文章作为整篇文章的快照来展示吗。理想情况下,我想显示一个缩略图大小的图像,标题和前50个字符,并让用户点击进入文章查看所有内容。可以这样做吗?如果可以,怎么做 其他信息 这是我的模板(news_list.html): views.py class NewsListView(ListView): model = News template_name = 'news_list.html'

我有一个
news\u list.html
模板,它完整地列出了所有文章。有什么方法可以让我把这些文章作为整篇文章的快照来展示吗。理想情况下,我想显示一个缩略图大小的图像,标题和前50个字符,并让用户点击进入文章查看所有内容。可以这样做吗?如果可以,怎么做

其他信息

这是我的模板(news_list.html):

views.py

class NewsListView(ListView):
    model = News
    template_name = 'news_list.html'

class NewsDetailView(DetailView):
    model = News
    template_name = 'news_detail.html'
    login_url = 'login'


class NewsUpdateView(LoginRequiredMixin, UpdateView):
    model = News
    fields = ('title', 'body', 'thumb')
    template_name = 'news_edit.html'
    login_url = 'login'

    def test_func(self):
        obj = self.get_object()
        return obj.author == self.request.user


class NewsDeleteView(LoginRequiredMixin, DeleteView):
    model = News
    template_name = 'news_delete.html'
    success_url = reverse_lazy('news_list')
    login_url = 'login'

    def test_func(self):
        obj = self.get_object()
        return obj.author == self.request.user


class NewsCreateView(LoginRequiredMixin, CreateView):
    model = News
    template_name = 'news_new.html'
    fields = ('title', 'body', 'thumb')
    login_url = 'login'

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super().form_valid(form)

我在模板的body元素中添加了
truncatewords

{% block content %}
  {% for news in object_list %}
    <div class="card" style="width:300px">
       <div class="card-header">
        <span class="font-weight-bold">
          <a href="{% url 'news_detail' news.pk %}" style="color:black">{{ news.title }}</a>
        </span> &middot;
        <span class="text-muted">by {{ news.author }} | {{ news.date }}</span>
      </div>
      <div class="card-body">
        {% if news.thumb %}
          <p align="center"><img src="{{ news.thumb.url }}" /></p>
        {% endif %}
        <p>{{ news.body | linebreaks | truncatewords:30 }}
          <a href="{% url 'news_detail' news.pk %}">Full story</a></p>
      </div>
      <div class="card-footer">
        {% if user.is_authenticated %}
          <a href="{% url 'news_edit' news.pk %}">Edit</a>
          <a href="{% url 'news_delete' news.pk %}">Delete</a>
        {% endif %}
      </div>
    </div>
    <br />
  {% endfor %}
{% endblock content %}
{%block content%}
{对象_列表%中的新闻为%0}
&米德多;
作者{{news.author}}{{news.date}
{%if news.thumb%}

{%endif%} {{news.body | linebreaks | trunchewords:30}

{%if user.u经过身份验证%} {%endif%}
{%endfor%} {%endblock内容%}
请显示一些代码,如模板、模型和视图。抱歉@Stargazer。他提问题太快了。我在问题中添加了一些相关代码。
class NewsListView(ListView):
    model = News
    template_name = 'news_list.html'

class NewsDetailView(DetailView):
    model = News
    template_name = 'news_detail.html'
    login_url = 'login'


class NewsUpdateView(LoginRequiredMixin, UpdateView):
    model = News
    fields = ('title', 'body', 'thumb')
    template_name = 'news_edit.html'
    login_url = 'login'

    def test_func(self):
        obj = self.get_object()
        return obj.author == self.request.user


class NewsDeleteView(LoginRequiredMixin, DeleteView):
    model = News
    template_name = 'news_delete.html'
    success_url = reverse_lazy('news_list')
    login_url = 'login'

    def test_func(self):
        obj = self.get_object()
        return obj.author == self.request.user


class NewsCreateView(LoginRequiredMixin, CreateView):
    model = News
    template_name = 'news_new.html'
    fields = ('title', 'body', 'thumb')
    login_url = 'login'

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super().form_valid(form)
{% block content %}
  {% for news in object_list %}
    <div class="card" style="width:300px">
       <div class="card-header">
        <span class="font-weight-bold">
          <a href="{% url 'news_detail' news.pk %}" style="color:black">{{ news.title }}</a>
        </span> &middot;
        <span class="text-muted">by {{ news.author }} | {{ news.date }}</span>
      </div>
      <div class="card-body">
        {% if news.thumb %}
          <p align="center"><img src="{{ news.thumb.url }}" /></p>
        {% endif %}
        <p>{{ news.body | linebreaks | truncatewords:30 }}
          <a href="{% url 'news_detail' news.pk %}">Full story</a></p>
      </div>
      <div class="card-footer">
        {% if user.is_authenticated %}
          <a href="{% url 'news_edit' news.pk %}">Edit</a>
          <a href="{% url 'news_delete' news.pk %}">Delete</a>
        {% endif %}
      </div>
    </div>
    <br />
  {% endfor %}
{% endblock content %}