在开发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 %}
答案 0 :(得分:2)
对于Django,我的理解是:
如果例程影响数据的显示方式,请将逻辑放在模板中。
如果例程影响显示哪些数据,请将逻辑放在视图中的函数中。
如果例程影响数据的检索方式,请考虑使用模型管理器而不是视图函数。
在您的示例中,在模板中使用order.id
非常方便,因为您只需要将容器对象传递给模板 - 订单字典。
答案 1 :(得分:-1)
你叫什么&#34;服务器&#34; vs&#34;客户&#34;实际上是Python代码vs模板,它们都在服务器上解释。
除了可读性和可重用性是关键之外,我认为它没有什么区别。对于这个目标,第二个选项(使用模板功能)当然看起来最好。虽然我很确定有很多例外。