它被认为是正确的/将部分模板返回到 ajax POST 请求是否有任何陷阱?
例如:
if request.is_ajax:
# response is just the form
return render(request, 'contact/fields.html', {'form':form})
最佳答案
最典型的方法是返回 JSON,然后根据 JSON 数据构建客户端所需的任何 HTML。然而,有人可能会说,这将表示与行为混合在一起,最好将 HTML 清晰地分开。
另一方面,返回 HTML block 就像您所能得到的“RESTful”的南极一样。在纯 REST 理念中, View 应该在标准且可重用的容器(例如 JSON 或 XML)中返回数据。稍后如果您需要将表单拉入 iOS/Android/WP7/等。应用程序环境而不是网页,JSON/XML 也可以为您服务,而 HTML 几乎毫无用处。
我可以很容易地看到这两种论点,而且我认为其中一个不一定比另一个更正确。最终,我认为你只需要做最适合你的应用程序和你“感觉正确”的事情。考虑什么对于您的特定情况更易于维护和扩展。
关于Django 部分模板响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978879/