我正在学习基本的Django开发,并创建了一个简单的博客应用程序,其中包含我创建的几个帖子。我的主页包含此代码,它遍历所有帖子并显示它们。
{% for post in all_posts %}
<div class="post-card">
{{post.title}}
{{post.description}}
<a data-toggle="modal" data-target="#postEditModal">
Edit Post
</a>
</div>
{% endfor %}
我有#postEditModal链接到Bootstrap数据目标方法并显示以下内容
<div id=#postEditModal class="modal fade" style="overflow: scroll;" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
{{editpostform}}
</div>
我的目标是能够点击&#34;编辑帖子&#34;每个帖子的链接,应该重定向到帖子的slug,并在同一页面的顶部打开模式,从那里我应该能够使用我的{{editpostform}}
编辑帖子。单击模态区域外部应该还原到同一页面。
我尝试了许多内容,例如post.get_absolute_url
和{% url 'single_post' post.id %}
,但到目前为止还没有正常工作。我假设有一定程度的Javascript / AJAX涉及但我不知道从哪里开始。
答案 0 :(得分:1)
您正在使用相同的modals
创建多个id
,并且所有链接都指向(data-target
)相同的模式,这不是唯一的。
一个简单的解决方案是将帖子ID添加到模态和链接。试试这个:
<div id="#postEditModal{{ post.id }}" class="modal fade" style="overflow: scroll;" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
{{editpostform}}
</div>
并修改这样的链接:
<a data-toggle="modal" data-target="#postEditModal{{ post.id }}">Edit Post</a>