0

当向视图发出 ajax 请求时,您如何将模板数据返回给 jquery 调用。

例如,我正在以这种方式进行 ajax 调用。

<script>
  function getProfile(username) {
     $.getJSON("/profiles/"+username, { username:{{ username }}}, function(json){
                            alert("Was successful?: " + json['success']);
                        });
                    }
   function addClickHandlers() {
           $(".person-name").click( function()
                getProfile(result.user.username) });
                    }
                    $(document).ready(addClickHandlers);
  </script>

我的 Django 视图

def profiles_view(request, username):
#    if username:
#        selected_user = User.objects.get(username = username)
    results = {'success':False}
    if request.method == u'GET':
        GET = request.GET
        if GET.has_key(u'username'):
            results = {'success':True}
    json = simplejson.dumps(results)

    return HttpResponse(json, mimetype='application/json')

我可以将我的模板视图传递profiles_view.html给 HttpResponse 吗?我不确定我的模板在哪里?

4

2 回答 2

0

如果您需要 HTML 视图和 JSON 视图,则可能需要两个响应。第一个是从TemplateResponse,第二个是从HttpResponse。两个请求似乎效率低下,但第一个请求是一次性的,之后您只需要使用 AJAX 请求的 JSON 响应。

您可以通过以下方式返回模板:

 return TemplateResponse(request, "profiles_view.html", results)
于 2013-02-06T02:32:36.707 回答
0

如果您只是要通过 ajax 传递数据,则不需要模板。

于 2013-02-06T02:52:28.653 回答