0

有没有办法flask.session在客户端从 angular.js 访问会话集中的内容?我正在尝试在来自烧瓶的同一个调用中传递数据并存储到会话,并且能够稍后在流程中从角度读取它。

我没有使用模板系统。对于页面,我只提供索引文件,然后使用 Angular 来完成其余的工作。这是我对索引文件的调用:

@app.route("/")
def index():
    return make_response(open('templates/index.html').read())
4

2 回答 2

1

如果您需要在模板中访问它,请记住模板在 Flask 中默认具有访问权限session

<script>
var someConfigurationObject = {
    someKey: "{{session["somevalue"]}}",
    other: "keys",
    "go": "here"
};
</script>

如果您通过 ajax 调用来回发送数据,您可以简单地将其包含在您的响应中:

return jsonify(data=your_data, session_info=session["special_key"])
于 2013-06-19T16:57:25.440 回答
0

在 Angular 上创建服务以从您的服务器读取。

app.factory('Session', ['$http', function ($http) {
  return {
    getSessionData: function (callback) {
      $http.get('/_session?key=x').success( function (res) {
       callback(res)
      })  
    } 
  }   
}])

从 Flask 返回值:

@app.route('/_session')
def get_from_session():
    key = request.params['key']
    return session.get(key)

在控制器中使用它:

app.controller(MainCtrl, ['$scope', 'Session', function ($scope, Session) {
  $scope.x = null
  Session.get( function (res) {
    $scope.x = res
  })
}])
于 2013-08-19T22:00:20.317 回答