我正在使用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)
答案 0 :(得分:1)