5

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

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

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

谢谢。

4

5 回答 5

8

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

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

于 2008-10-14T21:48:16.813 回答
1

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

于 2008-10-14T19:42:32.527 回答
1

我已经开始了一个我认为完全符合您要求的项目。你可以在 github_bumby_jslib找到它。
它目前只支持 get(),但我希望尽快扩展它。随意贡献补丁:)

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

于 2010-01-27T12:02:21.883 回答
0

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

于 2008-10-14T17:50:46.947 回答
0

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

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

于 2015-07-23T21:10:18.473 回答