在Django中打开bootstrap模态视图以编辑帖子

时间:2017-01-26 05:51:04

标签: javascript jquery ajax django twitter-bootstrap

我正在学习基本的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涉及但我不知道从哪里开始。

1 个答案:

答案 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>