AJAXを組み込んだDjangoで動作する基本的なアプリを取得しようとしています。アプリはドメイン名を受け取り、それをサーバーに送信します。サーバーはそれに対して dns ルックアップを実行し、AJAX 経由でクライアントに応答を返します。
ビュー
from django.http import *
from django.shortcuts import render_to_response
from django.template import RequestContext
import sys
import os
import socket
def main(request):
if request.method == 'POST':
dig_input = request.POST['digInput']
digoutput = socket.gethostbyname(dig_input)
return render_to_response('digajax.html', {'response': digoutput}, context_instance=RequestContext(request))
else:
return render_to_response('digajax.html', context_instance=RequestContext(request))
URL
url(r'^digajax$', 'digajax.views.main'),
テンプレート
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.2.js'></script>
<script type="text/javascript">
function send_request(){
$.get(location.href, function(data){
$("#output").html(data.output);
});
}
</head>
<body>
<form method="post" name="diginput form" action="/digajax">
{% csrf_token %}
<input name="digInput" id="digInput" type="text">
<input type="button" onclick="send_request();" value="Request this page with AJAX">lookup</input>
</form>
{% if response %}
<div id="output">
<p>{{ response|linebreaksbr }}</p>
</div>
{% else %}
<p>no</p>
{% endif %}
</body}
</html>
AJAX がなければ、すべてが機能します。AJAX を使用したいので、各セクションにどのコードを追加する必要があるかではありません。
どんな助けでも本当に感謝します.......