6 августа 2006
Django и AJAX: продолжение

Теги: AJAX Статьи Django Ссылки

Вторая часть статьи про создание AJAX-приложения на Django.

Помимо всего прочего, Джеймс Бенетт, говорит о выборе JavaScript-библиотеки для реализации AJAX. Он останавливает свой выбор на Yahoo UI Library и поясняет, почему он выбрал именно YUI:

Ваши тебования и предпочтения могут быть другими, но вот почему мне нравится YUI:
  • YUI модульная библиотека, так что достаточно включить "базовый" файл и потом добавлять специфичные компоненты когда они понадобяться;
  • YUI существует в двух вариантах: "обычном" и "сжатом". Вы можете использовать "обычный" при отладке, а после того, как всё работает, перейти на "сжатый", чтобы уменьшить трафик;
  • YUI добавляет всего один объект - YAHOO - в глобальное пространство имен (это очень удобно, когда Вы используете YUI совместно с другим JS-кодом и упрощает отладку);
  • с YUI в комплекте идут уже готовые "виджеты" и эффекты, но они больше ориентированы на "блочный" стиль программирования;
  • YUI распологает к тому, чтобы писать JavaScript, который выглядит "естественно";
  • YUI полностью и хорошо документирована, с обзором каждого модуля, полным описанием API и "шпаргалками"

Юревич Юрий 6 августа 2006, 11:12

Комментарии

alrond 24 августа 2006, 14:25

А вот интересно…кодировка примера UTF-8, а если имя русскими буквами вводить, то получаются крокозябры

“привет” -> “привет”

как так?

Юревич Юрий 25 августа 2006, 00:07

По видимому, дело либо в шрифте (Lucida Grande или Verdana ), либо в YUI, поскольку не-AJAX-вид работает на отлично. Я специально написал небольшой тест, можете попробовать:



#!/usr/bin/env python

# -*- coding: utf-8 -*-

import httplib, urllib


name = u’тест’.encode(’utf-8′)


params = urllib.urlencode({’name’: name, ‘total’: 10})

headers = {’Content-type’: ‘application/x-www-form-urlencoded’, ‘Accept’: ‘text/plain’}

conn = httplib.HTTPConnection(’.org’)

conn.request(’POST’, ‘/examples/ajax/1/’, params, headers)

resp = conn.getresponse()

data = resp.read()

conn.close()

print data


Оставьте свой комментарий