2015-06-18 6 views
3

Работая над разработкой приложений django, что является лучшей практикой для отображения объектов модели на стороне клиента? Должны ли модели анализироваться с использованием кода на стороне сервера или лучше всего оставить на стороне клиента templating language/javascript?Parse Django - серверная сторона сервера или клиентская сторона?

Для примера на стороне сервера:

for order in to_do_orders: 
     orderDict[order.orderID] = Order.objects.get(pk=order.orderID.id) 
     orderDict['customer'] = Customer.objects.get(pk=Order.objects.get(pk=order.orderID.id).customer.id) 

против клиента:

{% for order in orders %} 
     {{ order.id }}</a></li> 
     {{customer}} 
    {% endfor %} 
+1

они оба на стороне сервера. здесь нет javascript – Anentropic

ответ

2

Для Django, я понимаю, это:

Если процедура влияет на способ отображения данных, поставить логику в шаблоне.

Если рутина влияет на отображение данных, поместите логику в функцию в представлении.

Если рутина влияет на то, как извлекаются данные, попробуйте использовать диспетчер модели вместо функции просмотра.

В вашем примере, используя order.id в шаблоне, удобно, так как вам нужно было только передать объект-контейнер шаблону - словарь заказов.

-1

Что вы называете «Сервер» против «клиента» на самом деле Python код против шаблонов, которые оба интерпретированы сервер.

Я не думаю, что это имеет значение, за исключением того, что читаемость и повторное использование являются ключами. Для этой цели второй вариант (использование функций шаблона), безусловно, выглядит лучше всего. Хотя я совершенно уверен, что существует множество исключений.

+1

Это не PHP или Twig

+0

Жаль, что я отредактировал ... – Dric512