Django: поддерживает ли он изменения в DOM? - PullRequest
0 голосов
/ 16 января 2012

Интересно, изменится ли нативная поддержка Django в DOM.Я не знаю, правильное ли это имя сейчас, поэтому я думаю, что объясню вместо этого.Например, если я сделаю сайт интернет-магазина с Django.Я хочу, чтобы при нажатии на товар он добавлялся в корзину, которая в html может выглядеть примерно так.Поэтому для каждого продукта я добавляю новый <li></li>, который добавляется динамически.Могу ли я сделать это с Джанго.Или я должен использовать Javascript для этого?

<div id="basket">
  <ul>
     <li>
     // some product
     </li>
  </ul>
</div>

Ответы [ 2 ]

1 голос
/ 16 января 2012

Это зависит.

1) Возможно, вы захотите сделать ваше приложение очень динамичным, чтобы другой элемент появился в вашей корзине без перезагрузки страницы. Это будет сделано путем объединения запросов AJAX (ваш сервер должен знать, что у вас есть в корзине) с манипулированием DOM (чисто JavaScript);

2) Вы можете использовать более классический подход. Добавление элемента в корзину - это просто запрос POST. Django обрабатывает запрос (сохраняет в сеансе или где-то еще текущую корзину) и генерирует новый HTML для вас.

Имхо, первый подход намного быстрее и выглядит лучше для конечного пользователя. Недостатком является то, что вы можете потерять некоторую ценную информацию, которая автоматически обновляется, когда пользователь перезагружает всю страницу (например, цена товара). Но это не должно быть проблемой, если мы говорим о магазине. Ведь как часто данные продукта меняются?

0 голосов
/ 16 января 2012

Django не генерирует JavaScript для вас.Обычный способ - импортировать ваш javascript на ваши страницы в ваших шаблонах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...