Архитектура приложения Ajax Django - PullRequest
0 голосов
/ 05 ноября 2010

Я в процессе переноса игры командной строки в Интернет. Я буду использовать Ajax, чтобы склеить все вместе.

Теперь после первых нескольких проверочных строк, которые я написал, я столкнулся с архитектурными сомнениями. Как бы вы обычно структурировали такой проект?

Мой игровой движок написан в объектно-ориентированном стиле на Python, поэтому у меня есть, например, класс Game, класс Player и т. Д. *

Насколько я могу судить, у меня есть в основном 2 варианта:

а) использовать Javascript в качестве клея б) воспроизвести минимальный уровень моей объектной модели в Javascript

Так как это карточная игра, у меня была бы, например, функция «разыграть карту», ​​а в варианте А это выглядело бы примерно так:

function playCard(idx, player){
  $.ajax({
    type: 'POST', 
    url: '/play_card/' + idx + '/', 
    success: function(){//do something}
  });
}

В варианте B эта playCard будет методом объекта Player, который был создан в начале игры.

Кроме того, в случае, если вы выберете вариант B, как бы вы связали экземпляр Javascript с его серверным аналогом? Например, когда PlayerA.playCard (1) разыгрывает карту, как я могу узнать, из каких карт игрока выбрана эта карта?

Заранее спасибо.

1 Ответ

0 голосов
/ 05 ноября 2010

Я работаю на сайте, где мы используем Django и Ajax.Единственная сложная часть - проверка формы.Мы не переносим сгенерированный html-формат в JavaScript, вместо этого мы создаем собственные формы пользовательского интерфейса и создаем REST API, который использует модели Django и вручную формируют api в наших обработчиках Python ajax.Еще одна хитрость - это токен csrf, о котором вам придется рассказать своему JavaScript.

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