gpt4 book ai didi

python - 在Django中的html模式中加载动态数据

转载 作者:行者123 更新时间:2023-12-02 02:28:15 26 4
gpt4 key购买 nike

我有一个 html 页面,其中包含 Django 数据库中的动态图像。我还在同一页面中设置了一个模式为不可见,并在单击图像时打开。

我的意图是,当我单击任何图像时,它应该打开一个包含单击图像的 html 模型及其来自数据库的描述文本。

如何显示当前点击图像的数据及其描述。我尝试传递 {{profile.image.url}} 但这提供了有关单击所有图像的一个信息。

我不必为此提供示例代码。

最佳答案

您可以通过使用 AJAX 请求传递要检索的对象的 id 来实现此目的。

假设这是您的 HTML 表格

<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Title</th>
<th>Date</th>
<th>Status</th>
<th>Actions</th>
</tr>
</thead>

<tbody>
{% for incident in page_obj %}
<tr>
<td>{{ incident.id }}</td>
<td>{{ incident.title }}</td>
<td>{{ incident.created }}</td>
<td>
<span class="badge badge-pill badge-success">{{ incident.get_status_display }}</span>
</td>
<td>
<button class="btn btn-sm btn-outline-info" onclick="populateForm('{{ incident.id }}')" data-toggle="modal" data-target="#incidentModal">Edit</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>

根据您的模型和字段使用此类函数

 function populateForm(id) {
$.ajax({
url: "{% url 'incidents:update' 1 %}".replace("1", id),
type: "GET",
success(response) {
let incident = JSON.parse(response)[0].fields;
$("#id_title").val(incident.title);
$("#id_description").val(incident.description);
$("#id_responder").val(incident.responder);
$("#id_status").val(incident.status);
$("#id_functional_impact").val(incident.functional_impact);
$("#id_information_impact").val(incident.information_impact);
$("#id_recovery_impact").val(incident.recovery_impact);
},
});
}

View .py

from django.core import serializers
from django.http import JsonResponse, Http404
from django.views.generic import UpdateView
from incidents.models import Incident
from incidents.forms import IncidentForm


class IncidentUpdateView(UpdateView):
form_class = IncidentForm
model = Incident

def get_success_url(self):
return reverse('incidents:list')

def get(self, request, pk):
if request.is_ajax():
incident = get_object_or_404(Incident, pk=pk)
response = serializers.serialize("json", [incident])
return JsonResponse(response, safe=False)
raise Http404('Page not found')

关于python - 在Django中的html模式中加载动态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65374111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com