【发布时间】:2020-06-10 09:09:28
【问题描述】:
如何确保在将照片上传到数据库时,轮播中的幻灯片在不重新加载页面的情况下更新? 甚至可以用 ajax 来实现吗?
views.py
def index(request):
time_change = Time.objects.get(id=1).time_for_change_slied * 1000
image_list = Image.objects.filter(bool_field=True).order_by('number_of_slaid')
return render(request, 'prezents/index.html', {'image_list': image_list, 'time_change':time_change})
index.html
{% extends 'base.html' %}
{% block content %}
<div id="carouselExampleIndicators" class="carousel slide carousel-fade" data-ride="carousel" data-interval="{{time_change}}" data-pause="false">
<div class="carousel-inner">
{% for a in image_list %}
{% if forloop.first %}
<div class="carousel-item active ">
{% if a.image_prezents %}
<img class="d-block " src="{{a.image_prezents.url}}" alt="first">
{% endif %}
</div>
{% else %}
<div class="carousel-item">
{% if a.image_prezents %}
<img class="d-block " src="{{a.image_prezents.url}}" alt="second">
{% endif %}
</div>
{% endif %}
{% endfor %}
</div>
{% endblock %}
【问题讨论】:
-
@Вадим-Шаройкин 事实上,Django 模板是从服务器端解析然后显示在 UI 中的,最终只能归结为使用 Ajax;为了对轮播进行无缝更新,并且在不使用 Ajax 概念的情况下仍然可以异步执行此操作是不可能的。
You need to first let us know why do you don't want to use Ajax? Is it a limitation to your website? -
@solarissmoke 我问这是否可以使用 ajax 来完成。我使用ajax提交表单,但不明白如何在轮播中使用它
-
@NagarajTantri 我没有说你不能使用 ajax。挺合适的,就是不明白怎么用轮播从数据库中获取数据
-
不太容易理解。但我认为你可以使用 ajax 来确保上传工作,因为如果你使用 REST API,django 会向你发送一个状态为 200 / 404 的请求,并告诉你它是否保存在 db 中。