2011-09-28 2 views
0

저는 장고 프레임 워크를 처음 접하고 웹 개발과 파이썬을 처음 접했습니다. 현재 내 프로젝트에서 아약스 구현하려고합니다. 나는 어떤 실제 샘플을 찾을 수 없습니다. 나는 아약스 또는 jquerydjango1.3 프로젝트에 넣는 데 도움이 필요합니다.django1.3을 사용하여 아약스 또는 jquery를 수행하는 방법

이제 dojango 'app을 사용하여 아약스를 구현하려고합니다. 나는 그것을 성공적으로 설치하고 this tutorial을 시도했다.

urls.py :

(r'^dojango/', include('dojango.urls')), 
(r'^simple/', 'views.simple'), 
(r'^simple-ajax-set/', 'views.simple_ajax_set'), 

views.py :

from django.shortcuts import render_to_response 
from dojango.decorators import json_response 
@expect_post_request 
@json_response 
def simple_ajax_set(request): 
    ret = {} 
    firstname = request.POST['firstname'] 
    surname = request.POST['surname'] 
    if len(surname)<3: 
     ret['error'] = 'Surname is too short.' 
     ret['success'] = False 
    if ret['success']: 
     # Store the data here 
     pass 
    return ret 

simple.html

{% extends "dojango/base.html" %} 
{% block dojango_page_title %}Simple AJAX with dojango{% endblock %} 
{% block dojango_header_extra %} 
<script type="text/javascript"> 
function userFormSubmit(){ 
var form = dojo.byId("userForm"); 
dojo.xhrPost({url:form.action, 
    handleAs:"json", 
    content:{surname:form.surname.value, 
    firstname:form.firstname.value 
    }, 
    load:function(response, ioArgs){ 
    if (response.success){ 
    dojo.byId("info").innerHTML = "Submitted successfully"; 
    } else { 
    dojo.byId("info").innerHTML = "Error: "+response.error; 
    } 
    }, 
    error:function(data){ // This happens on a 500 error or alikes. 
    dojo.byId("info").innerHTML = "Error sending data."; 
    } 
}); 
} 
</script> 

{% endblock %} 

{% block dojango_content %} 
<form id="userForm" onsubmit="userFormSubmit(); return false;" action="/simple-ajax-set/"> 
    First name: <input id="firstname" /><br /> 
    Surname: <input id="surname" /><br /> 
    <input type="submit" value="Submit" /> <span id="info"></span> 
</form> 
{% endblock %} 

나는 예외를 가지고 실행하면

NameError at /simple-ajax-set/ 
name 'expect_post_request' is not defined 

그래서 나는 위의 튜토리얼의 첫 번째 부분으로 코드를 변경, 나는

'MultiValueDictKeyError at /simple-ajax-set/' , "Key 'firstname' not found in <QueryDict: {}>" when click on the submit button at simple.html. 

문제 모래는 아약스/JQuery와 containg 몇 가지 링크 또는 코드를 공유 찾아 도와주세요 다음과 같은 예외를 가지고있는 django1.3에서 작동합니다. python 2.7,

django1.3에 대한 hello world ajax 또는 jquery 예제 작업을 제안 할 수 있습니까?

+0

{} && { "success": true}, firstname = request.POST.get ('firstname') surname = request.POST.get ('성')을 반환하면 문서 내용이 반환됩니다. "JSON 문서를 구문 분석하는 중 오류가 발생했습니다. 문서의 형식이 올바르지 않을 수 있습니다."라는 메시지가 표시됩니다. – Jisson

+0

이 예제는 Dojo가 아닌 jQuery를 사용하는 것처럼 보입니다. –

+0

네 @ Mark Lavin, 나는 Dojango 프로젝트를 사용한다. – Jisson

답변

0

"순수한"jQuery 및 django here. 그것은 내가 당신의 자리에있을 때 나를 행복하게했습니다. 행운을 빕니다!

관련 문제