添加Ajax的朋友 - Django

时间:2015-07-04 06:00:12

标签: javascript jquery python ajax django

我正在使用Django-Friends

我试图这样做,当用户点击添加好友时,该按钮消失(或理想情况下说已发送请求)。但是,当我点击按钮时,它不会消失。我是Django和Ajax的新手,所以我假设这是我的错误。最有可能的是HttpResponse。

那部分实际上让我很困惑。 HttpResponse,render,render_to_response等我知道当我想加载模板时我可以使用render或render_to_response。但是,如果我不想加载新模板或转到新页面怎么办?就像我希望能够完成添加朋友或添加页面等操作一样;所有在一页上。我知道你可以用ajax来做,但我不知道它的django技术方面。

无论如何,这是我的代码。现在,没有任何事情发生。按钮不会消失,并且没有发送友情请求。

profile.html

    <div class="text-center">
      <div>
        "{{currUserprofile.tagline}}"
      </div>
      {{currUser.profile.city}}, {{currUser.profile.state}}
      {{currUser.id}}
    </div>
    <!-- <button id="addfriend" data-profileid="{{currUser.id}}" class="btn btn-primary" type="button"> <span class="glyphicon glyphicon-plus"></span>
Request Friend</button>
 -->    <!--Find a way to signify looking or not looking to mentor -->

      <button id="addfriend" data-profileid="{{currUser.id}}" class="btn btn-primary" type="button"> <span class="glyphicon glyphicon-plus"></span>
Request Friend</button>

ajax.js

    $(document).ready(function () {
    $('#addfriend').click(function () {
        var profile_id = $(this).data("profileid");
        $.get('/myapp/addfriend/id=' + profile_id, function (data) {
            $('#addfriend').fadeOut();
        });
    });
})

views.py

@login_required
def profile(request, id):
    context = RequestContext(request)
    currUser = User.objects.get(pk = id)
    profile = UserProfile.objects.filter(user = currUser)
    return render_to_response('myapp/profile.html', {'currUser': currUser, 'UserProfile': UserProfile}, context)


@login_required
def addfriend(request, id):

    context = RequestContext(request)
    other_user = User.objects.get(pk=id)
    new_relationship = Friend.objects.add_friend(request.user, other_user)
    profile = UserProfile.objects.filter(user = other_user)

    return HttpResponse(new_relationship)

1 个答案:

答案 0 :(得分:1)

这是一个有效的JSFiddle,但你不能用getyou发布数据{profile_id:profile_id}应该使用postor将数据添加为params,就像我做的那样: HTML: &lt; button id =&#34; addfriend&#34;数据简档=&#34; {{currUser.id}}&#34; class =&#34; btn btn-primary&#34;类型=&#34;按钮&#34;&GT; &lt; span class =&#34; glyphicon glyphicon-plus&#34;&gt;&lt; / span&gt; 请求朋友&lt; / button&gt; JS: $(document).ready(function(){     $(&#39; #addfriend&#39;)。click(function(){         var profile_id = $(this).data(&#34; profileid&#34;);         $ .get(&#39; / myapp / addfriend /?profile_id =&#39; + profile_id,function(data){             $(&#39;#addfriend&#39)。淡出();         });     }); });