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>

私のジャンゴビュー

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ビューの両方が必要な場合は、2つの応答が必要になる場合があります。最初はからTemplateResponse、2番目はからHttpResponseです。2つのリクエストは非効率に見えますが、最初のリクエストは1回だけで、その後はAJAXリクエストを使用したJSONレスポンスのみが必要になります。

次の方法でテンプレートを返すことができます。

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

ajax 経由でデータを渡すだけの場合は、テンプレートは必要ありません。

于 2013-02-06T02:52:28.653 に答える