解析 Django 模型服务器端还是客户端?
Posted
技术标签:
【中文标题】解析 Django 模型服务器端还是客户端?【英文标题】:Parse Django Models Server Side or Client Side? 【发布时间】:2015-06-18 12:42:29 【问题描述】:在开发 django 应用程序时,在客户端显示模型对象的最佳做法是什么?模型应该使用服务器端代码解析还是最好留给客户端模板语言/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 客户:
% for order in orders %
order.id </a></li>
customer
% endfor %
【问题讨论】:
这些都在服务器端。这里没有发生 javascript 【参考方案1】:对于 Django,我的理解是这样的:
如果例程影响数据的显示方式,请将逻辑放入模板中。
如果例程影响显示哪些数据,请将逻辑放在视图中的函数中。
如果例程影响数据的检索方式,请考虑使用模型管理器而不是视图函数。
在您的示例中,在模板中使用 order.id
很方便,因为您只需要将容器对象传递给模板 - 订单字典。
【讨论】:
【参考方案2】:您所说的“服务器”与“客户端”实际上是 Python 代码与模板,它们都在服务器上进行解释。
我不认为这有什么不同,除了可读性和可重用性是关键。对于这个目标,第二个选项(使用模板函数)当然看起来是最好的。虽然我很确定有很多例外。
【讨论】:
这既不是 php 也不是 Twig以上是关于解析 Django 模型服务器端还是客户端?的主要内容,如果未能解决你的问题,请参考以下文章
android 在服务器端生成json格式数据,在客户端怎么解析