在AngularJS中重用服务器端模型



所以,我希望用AngularJS构建一些东西。到目前为止,我很喜欢我所看到的,但是有一些事情让我很困扰。

我如何通过查看我的模型定义使角生成表单(和可能的路由)?

显然,我必须将Python翻译成Javascript并将其发送给客户端,但是Angular可以做到这一点吗?是否有可能通过查看模型来生成CRUD接口?我似乎找不到任何关于这方面的信息,如果这是不可能的或非常困难的,我宁愿不花很多时间在angular上。

如果angular不适合这个,有什么建议的javascript框架吗?

我不确定您的具体需求是什么(让我知道,我可以详细说明),但我认为实现您正在寻找的最佳方法是投入一些时间开发REST接口。

将每个python模型定义为资源将把猜测工作从接口中取出。在REST中甚至有定义"rel"链接的概念,这些链接扩展了可以转换到的状态。

假设你有一个后端User模型,看起来像:

{
    id: 1,
    name: "Bob Loblaw",
    email: "bobloblaw@lawblog.com"
}

您可以将此模型公开为可在/user访问的资源

然后在你的客户端代码中,你可以创建一个返回$resource('/user/:userId', {userId:'@id'});User服务

现在你有你的User资源(通过User服务,你已经连接到你的模块访问…)你所需要做的就是将资源注入到控制器中,然后删除:

// grab a user to display
$scope.user = User.get({userId:1});
// perform an update on a user
var user = User.get({userId:1}, function() {
    user.email = 'bob@lawblog.com';
    user.$save();
});
// delete a user
User.delete({userId:1});
// etc...

而不是自动化模型&基于后端代码的路由生成,看看开发一个自定义的restful接口是否能满足您的需求。

你想要的就是我想要的,但这是不可能的。您希望通过不重写客户端和服务器中的模型来保持DRY。您可以编写一个功能强大的API,但没有客户端库/ui以您需要的方式使用它。查看我对此事的评论:

http://caines.ca/blog/programming/so-i-wrote-a-json-api-framework-and-the-framework-was-the-least-interesting-part/comment-page-1/评论- 1893

尽管如此,如果你找到了请告诉我。为了让客户满意而编写服务器代码是不好的。服务员是老板,其他人跟着。

最新更新