解析 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格式数据,在客户端怎么解析

zookeeper原理解析-客户端与服务器端交互

C#服务器端接收并解析android客户端传过来的json数据

跟大佬学django-HTTPURL模型:ORM

React 服务器渲染原理解析与实践

React 服务器渲染原理解析与实践