Python 在Django中以html模式加载动态数据
我在Django中有一个带有数据库动态图像的html页面。 我也有一个模式在同一页设置为不可见,并打开时,图像被点击 我的意图是,当我单击任何图像时,它应该打开一个html模型,其中包含单击的图像和数据库中的描述文本 如何显示当前单击图像的数据及其说明。 我试图传递Python 在Django中以html模式加载动态数据,python,html,css,django,django-views,Python,Html,Css,Django,Django Views,我在Django中有一个带有数据库动态图像的html页面。 我也有一个模式在同一页设置为不可见,并打开时,图像被点击 我的意图是,当我单击任何图像时,它应该打开一个html模型,其中包含单击的图像和数据库中的描述文本 如何显示当前单击图像的数据及其说明。 我试图传递{{profile.image.url},但这提供了一个点击所有图像的信息 我不必给出这方面的示例代码。关于如何实现这一点,有两个选项: 使用django呈现所有图像的模态,并在用户单击其中一个图像时打开它们 创建1个模式并编写一些j
{{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>
views.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')
你好回答得好!我有同样的问题。我有一个用户网格,每个用户都有一个删除按钮。当按下此按钮时,我想打开一个模式,说“你确定要删除用户”用户名吗?因此,当确认我要删除用户时。我无法使用ajax将选定用户“存储”到网格中并将其传递给modal withous?谢谢嘿,很抱歉回复太晚了。您可以将javascript函数附加到按钮的onclick方法,并将用户id作为参数传递给它。在该函数中,您可以使用用户id设置删除表单的操作。因此,每当用户单击“删除”按钮时,该函数将更改表单的操作并显示一个模式,确认后将提交表单,最终导致用户被删除。希望能有帮助。
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')