Я абсолютно новичок в фреймворке Django и новичок в веб-разработке и Python.В настоящее время я пытаюсь внедрить ajax в свой проект.Я не могу найти ни одного рабочего образца.Мне нужна помощь в размещении ajax или jquery в django1.3 проекте.
Теперь я пытаюсь реализовать ajax с помощью dojango 'приложение.Я успешно его устанавливаю и пытаюсь этот учебник .
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.
Пожалуйста, помогите мне выяснить проблему. Также поделитесь ссылками или кодами, связанными с ajax / jquery, который работает с django1.3.и python 2.7,
Кто-нибудь может предложить поработать с ajax-примером hello world для django1.3?