【发布时间】:2020-07-20 13:25:50
【问题描述】:
我想加快在 django 模板中加载图像的过程。现在,我处于页面将“获取”所有图像然后呈现页面的情况。
index.html 的一部分:
{% extends 'base.html' %}
{% load thumbnail %}
{% block content %}
{% for new in news_list %}
<div class="card">
{% thumbnail new.image "250x250" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
</div>
{% endfor %}
{% endblock %}
view.py 的一部分
from .models import News
def home(request):
news_list = News.objects.all()
return render(request, 'index.html', news_list)
我使用 chrome "F12" 来查看发生了什么。 “获取”所有图像需要很长时间。我认为这不是获得大型模型的问题。是否有另一种方法可以在模板中显示一些图像而不是获取所有图像?非常感谢。
【问题讨论】:
-
一种可能的解决方案是向您的新闻模块添加分页,并在加载时调用前 10 或 20 篇新闻文章,并使用 Ajax 进行下一页调用。
-
你能解释一下如何使用ajax吗?使用 ajax 而不是在 view.py 中渲染来获取模型数据? @山姆
-
感谢@Sam 为我节省了时间。很有帮助
标签: python django django-templates sorl-thumbnail