解析Django模型服务器端还是客户端?

时间:2015-06-18 12:42:29

标签: javascript python django

在开发django app开发时,在客户端显示模型对象的最佳实践是什么?是应该使用服务器端代码解析模型还是最好留给客户端模板语言/ javascript?

对于服务器端的示例:

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)

vs client:

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

2 个答案:

答案 0 :(得分:2)

对于Django,我的理解是:

如果例程影响数据的显示方式,请将逻辑放在模板中。

如果例程影响显示哪些数据,请将逻辑放在视图中的函数中。

如果例程影响数据的检索方式,请考虑使用模型管理器而不是视图函数。

在您的示例中,在模板中使用order.id非常方便,因为您只需要将容器对象传递给模板 - 订单字典。

答案 1 :(得分:-1)

你叫什么&#34;服务器&#34; vs&#34;客户&#34;实际上是Python代码vs模板,它们都在服务器上解释。

除了可读性和可重用性是关键之外,我认为它没有什么区别。对于这个目标,第二个选项(使用模板功能)当然看起来最好。虽然我很确定有很多例外。