所以,我希望用 AngularJS 构建一些东西。喜欢我到目前为止所看到的,但有一些事情让我烦恼。
如何通过查看我的模型定义来生成角度生成表单(可能还有路线)?
我显然必须将 Python 翻译成 Javascript 并将其发送给客户端,但是 Angular 可以做到这一点吗?是否可以通过查看模型来生成 CRUD 接口?我似乎找不到任何关于此的信息,如果这是不可能或非常困难的,我宁愿不要花很多时间在角度上。
如果 angular 不太适合这个,对 javascript 框架有什么建议吗?
所以,我希望用 AngularJS 构建一些东西。喜欢我到目前为止所看到的,但有一些事情让我烦恼。
如何通过查看我的模型定义来生成角度生成表单(可能还有路线)?
我显然必须将 Python 翻译成 Javascript 并将其发送给客户端,但是 Angular 可以做到这一点吗?是否可以通过查看模型来生成 CRUD 接口?我似乎找不到任何关于此的信息,如果这是不可能或非常困难的,我宁愿不要花很多时间在角度上。
如果 angular 不太适合这个,对 javascript 框架有什么建议吗?
我不确定您的具体需求是什么(让我知道,我可以详细说明),但我认为完成您正在寻找的最佳方法是花一些时间开发 REST 接口。
将每个 python 模型定义为资源将使猜测工作脱离界面。REST 中甚至还有定义“rel”链接的概念,这些链接扩展了可转换到的状态。
User假设您有一个看起来像这样的后端模型:
{
id: 1,
name: "Bob Loblaw",
email: "bobloblaw@lawblog.com"
}
您可以将此模型公开为可访问的资源/user
然后在您的客户端代码中,您可以创建一个User返回的服务$resource('/user/:userId', {userId:'@id'});
现在您已经拥有了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,但没有客户端 lib/ui 可以按照您的需要使用它。检查我对此事的评论:
尽管如此,如果你找到它,请告诉我。编写服务器代码以使客户满意是不好的。服务器是老板,休息应该跟随。