【问题标题】:Initializing Firestore-Admin in Flask app在 Flask 应用程序中初始化 Firestore-Admin
【发布时间】:2018-10-21 02:40:03
【问题描述】:

我有一个使用 Cloud Firestore 实现某些功能的 Flask 应用。我正在使用工作正常的Firestore-Admin 库,但我认为我错误地放置了它的初始化代码。我对 Flask 应用程序如何工作的了解有限,所以我只是简单地将以下代码添加到我的 app.py 中:

cred = credentials.Certificate('key.json')
fault_app = firebase_admin.initialize_app(cred)
db = firestore.client()

虽然代码有效,但我的问题是它是初始化 Firestore 的正确解决方案吗?这个解决方案是否适合 Flask 应用程序的生命周期?我已经尝试直接从使用它的方法初始化 Firestore,但是由于初始化的数量,这导致了服务器错误。

【问题讨论】:

    标签: python firebase flask google-cloud-firestore firebase-admin


    【解决方案1】:

    以下示例可能对您有所帮助:

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore
    from flask import Flask
    
    app = Flask(__name__)
    
    cred = credentials.Certificate("key.json")
    firebase_admin.initialize_app(cred)
    
    db = firestore.client()
    
    @app.route('/getdata')
    def user_data():
    
    #getting the docs
    
      users_ref = db.collection('Demo')
      docs = users_ref.get()
      for doc in docs:
          print('{} => {}'.format(doc.id, doc.to_dict()))
      return "Recorded Printed"
    
    if __name__ == '__main__':
    app.run()
    

    【讨论】:

    • 这行得通,但我必须在 'app.route' 之前添加一个 '@' 才能让它运行。
    • 谢谢,@RiversCuomo 正在更新答案。
    【解决方案2】:

    在我看来是合理的。这与this tutorial 中采用的方法相同。

    【讨论】:

      猜你喜欢
      • 2021-10-07
      • 2013-03-24
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 2015-02-25
      • 2018-12-31
      相关资源
      最近更新 更多