【问题标题】:how to combine image and videoembed in listview django如何在listview django中结合图像和视频嵌入
【发布时间】:2020-10-14 18:07:20
【问题描述】:

我有两类模型图像和视频嵌入。问题是如何将两个类放在单个列表视图中。当没有图像时,视频嵌入显示 这是我的代码。

views.py

def news_list(request):
"""news list category"""
category = Category.objects.get(id=1)
a_list = Article.objects.filter(category=1)
g_list = Gallery.objects.filter(category=1)
v_list = Videoembed.objects.filter(category=1)
object_list = sorted(
    chain(a_list, g_list, v_list), key=attrgetter("publish"), reverse=True
)
paginator = Paginator(object_list, 4)  # 3 posts in each page
page = request.GET.get("page")
try:
    posts = paginator.page(page)
except PageNotAnInteger:
    # If page is not an integer deliver the first page
    posts = paginator.page(1)
except EmptyPage:
    # If page is out of range deliver last page of results
    posts = paginator.page(paginator.num_pages)

return render(
    request,
    "blog/post/news.html",
    {"category": category, "page": page, "posts": posts},
)

在 news.html 中

<div class="row">
   {% for post in posts %}
    <div class="col-lg-4 col-md-6 col-sm-12 pb-4">
       {% if forloop.counter0|divisibleby:3 and not forloop.first %}<div class="w-100"></div>{% endif %}
      {% video post.video  %}
       <img src="{{ post.images.url }}" width="300px">
      <P>
         <h2><a href="{{ post.get_absolute_url }}">
           {{ post.title }}
         </a> </h2>  </p>
         <p class="date">
           Published {{ post.publish }} by {{ post.author }}
           </p>
           {{ post.body|safe|truncatewords:30|linebreaks }}

       </div>
   {% endfor %}

感谢您的帮助

【问题讨论】:

    标签: python-3.x django django-views django-templates


    【解决方案1】:
    {% if post.video %}
    {% video post.video  %}
    {% else %}
    <img src="{{ post.images.url }}" width="300px">
    {% endif %}
    

    【讨论】:

    • 虽然这段代码可能会解决问题,但一个好的答案还应该解释代码的什么以及它如何提供帮助。
    猜你喜欢
    • 2021-09-06
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    相关资源
    最近更新 更多