我正在使用 AngularJS 进入单页应用程序,但不是使用 Node 或类似的,我最喜欢服务器上的 Python。因此,鉴于我对 Pyramid 有点熟悉,我计划使用该pyramid_rpc
模块将 JSON 对象返回到客户端应用程序。这一切都很简单,但是,提供包含 AngularJS 初始 AngularJS 应用程序的起始索引文件的最佳方式是什么?通常,静态文件是从目录提供的,但是从根目录static
提供文件有什么问题吗?index.html
或者我应该使用可调用视图并'/'
通过渲染器路由到 html 模板?话虽如此,对于这种应用程序来说,金字塔是不是矫枉过正?任何建议都会很棒。
问问题
1828 次
1 回答
3
如果您打算返回一些 JSON 响应,那么 Pyramid 是一个不错的选择。但我不建议使用pyramid_rpc。JSON-RPC 是一种用于服务器之间的 RPC 通信的协议。直接的 json 响应更适合大多数客户端(如浏览器),例如只是一组返回 JSON 响应以响应 GET/POST 请求的路由。这也是一个提供服务的好地方index.html
,可能有一个很好的http_cache
参数来防止客户端过于频繁地请求该页面(当然你可以进一步优化这条路线,但你应该把它留到以后)。
config.add_route('index', '/')
config.add_route('api.users', '/api/users')
config.add_route('api.user_by_id', '/api/users/{userid}')
@view_config(route_name='index', renderer='myapp:templates/index.html', http_cache=3600*24*365)
def index_view(request):
return {}
@view_config(route_name='api.users', request_method='POST', renderer='json')
def create_user_view(request):
# create a user via the request.POST parameters
return {
'userid': user.id,
}
@view_config(route_name='api', request_method='GET', renderer='json')
def user_info_view(request):
userid = request.matchdict['userid']
# lookup user
return {
'name': user.name,
}
于 2013-06-22T02:38:33.930 回答