我正在浏览器中执行大量JavaScript工作,并希望在前端具有一些后端功能。具体来说,最好有函数 get() save() all() count()可供客户使用。另外,在生成的JavaScript对象中已经可以使用模型的字段列表会很棒。

当前用户是否可以读取或写入记录是我将使用Django身份验证处理的另一个问题。目前,检索将是一个开始。

简而言之,是否有代码可以从Django模型生成JavaScript模型?

感谢。

有帮助吗?

解决方案

听起来您正在寻找模型和查询集API的完整JavaScript接口。我无法想象这将会完成甚至是一项简单的任务。您不仅需要以某种方式生成模型的JavaScript实例(远远超过JSON序列化提供,因为您还需要方法),但您需要公开可以处理各种DB-API调用的Web服务。我甚至无法想象从哪里开始,安全问题可能太多而无法轻易克服。

替代(并且更简单)的方法是使用各种Django REST模块和JSON序列化之一。您可以对资源执行AJAX GET请求,该请求可以通过一系列查询参数来识别,这些参数等同于链式查询集过滤器。这将返回模型值的JSON表示。然后,您可以修改JavaScript对象并使用重载的AJAX POST请求将更改持久保存回服务器。您将无法访问模型的方法,因此必须重新实现功能,但对模型进行任何更改应该足够简单 - 这基本上相当于使用HTML表单修改数据的JavaScript。

其他提示

您需要数据序列化程序。您可以使用内置序列化程序的django来完成它。它在官方django网站上有记录。 djangoproject_topics-serialization

我已经开始了一个项目,我认为这正是你正在寻找的。你可以找到它 github_bumby_jslib
它目前只支持get(),但我希望尽快扩展它。随意提供补丁:)

jslib是一个Django应用程序,旨在简化与Django项目的AJAX集成。

听起来你想要 JSON编码你的对象数据。有关数据格式的更多信息,请参见 JSON.org

因为我发布了原始问题已经有一段时间了,从那时起Djangoland就有了一些发展。其中最重要的是一个名为Django REST Framework的小型库。我将在一个新项目中使用它,它看起来很漂亮。

http://www.django-rest-framework.org

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top