Django i Ajax
Proste przykłady zastosowania AJAXa w aplikacjach Django. W artykule wykorzystano ajaxroutine.js do sprawdzania dostępności danego loginu w formularzu rejestracji
Na dynamicdrive.com dostępna jest prosta biblioteka JavaScript (plik ajaxroutine.js) umożliwiająca stosowanie AJAXa w dość prosty sposób. By użyć jej w django umieść plik ajaxroutine.js w katalogu na pliki statyczne (zazwyczaj "site_media") a następnie dołącz go do kodu HTML szablonu:Naszym celem będzie stworzenie prostej walidacji formularza rejestracji użytkownika. Załóżmy że mamy taki kod formularza: Celowo pominąłem inne pola jak np. hasło. Chcemy sprawdzić czy login lub email jest wolny i odpowiednio poinformować rejestrującą się osobę. Sprawdzanie musi zostać wywołane po wpisaniu wartości do pola, czyli onblur. Musimy dodać wywołanie funkcji JavaScript, która skorzysta z ajaxroutine.js by wysłać żądanie do serwera i wyświetlić odpowiedź. Oto nieznacznie zmodyfikowana funkcja processGetPost() z przykładu na dynamicdrive: Nad formularzem jest DIV o id "aj". Nasza funkcja umieści w nim kod HTML zawierający odpowiedź z serwera. Teraz musimy dodać do pól formularza wywołanie tej funkcji:
onblur="ajaxpack.getAjaxRequest('/URL/WIDOKU/', 'parametr=wartość', 'txt');"
/URL/WIDOKU/ to strona jaka ma być wywołana - url do widoku, jaki zaraz stworzymy. Drugi argument to lista parametrów GET, za pomocą której możemy przesłać dane z formularza za pomocą:
document.NAZWA_FORMULARZA.NAZWA_POLA.value document.r.email.value
RkBlog